본문 바로가기
728x90
반응형

[개발자 로드맵]/C38

배열 주소에 증감 연산자 사용은 왜 안될까? 1. 예상되는 상황 #define _CRT_SECURE_NO_WARNINGS #include #include int main() { char str[32]; scanf_s("%s", str, 32); for (int i = 0; i < strlen(str); i++) { printf("%c\n", *str++); } return 0; } 배열은 포인터로 바꿔 표현할 수도 있으니까 *(str+i)와 같은 형식으로도 작성이 가능하니 *str++해도 될 것 같다고 생각했다. 하지만 위 코드를 실행해보면 *str++에서 컴파일러 오류로 확인된다. 왜그럴까? 2. 원인 배열을 포인터 표현으로 바꿔 사용할 때 주의할 점이 있다. 배열은 컴파일러에 의해 BP를 기준으로 상대적 위치 표현으로 변경되는 문법이다. 따라서.. 2023. 4. 7.
scanf_s 에러 C6328 크기 불일치 1. 예상되는 상황 #include int main() { char str[32]; scanf_s("%s", str, sizeof(str)); printf("%s", str); } 위 코드는 정상적으로 실행은 되지만, 아래 행에서 경고가 확인된다. scanf_s("%s", str, sizeof(str)); 구글링을 해봤지만 경고에 대한 설명과 해결 방법에 대한 자료를 제대로 본 것이 없다. 이런 방식으로 작성을 해본적이 없거나 왜 이런 경고 메세지가 발생했는지 궁금하지 않았나보다. 저렇게 사용하지 않고도 32와 같은 숫자로 명시해서 해결하는 등 방법은 많긴하니까. 하지만 그래도 개발자로서 이유는 알고 해결을 해야하지 않겠는가? 이 글을 읽고 계신 분들도 위의 코드와 비슷하게 작성했을 가능성이 높다. 해결.. 2023. 4. 6.
C언어 반복문 실습하기 (구구단 작성 및 좌표 개념 익히기) ★[EasyWin32로 C 언어 실습하기 - 동영상 강좌 목차] 를 끝까지 실습하는것이 저의 첫번째 실습 계획입니다. 참조링크↓↓↓ https://cafe.naver.com/easywin32/66 EasyWin32로 C 언어 실습하기 - 동영상 강좌 목차 이 목차는 EasyWin32를 사용해서 C 언어를 실습 환경을 구축하고 C 언어를 공부하면서 배운 내용을 하나씩 실습하는 방법에 대해 순서대로 소개하고 있습니다. 1. Eas... cafe.naver.com ★편하고 쉬운 데볼루션을 활용하여 실습합니다. 데볼루션을 설치만 하면 쉽게 시작할 수 있어요. 만들어 준 것은 쓰자구요, 사용하라고 있는 툴입니다! 참조링크↓↓↓ https://cafe.naver.com/easywin32/1758 EasyWin32 .. 2023. 3. 2.
[C언어 코딩 도장 심사문제 답] 12.5_심사문제: 덧셈, 뺄셈하기 1. 답 #define _CRT_SECURE_NO_WARNINGS #include int main() { float num1; float num2; float num3; scanf("%f %f", &num1, &num2); num3 = num1 + num2 - 4.5; printf("%f\n", num3); return 0; } 2. 결과 3. 정리 4. 비고 코딩 도장 심사문제는 아래 링크 바로가기를 눌러주세요. 간단한 가입 진행 후 이용 가능하므로 참고 부탁드립니다. 코딩 도장 문제 링크 바로가기 : https://dojang.io/mod/quiz/attempt.php?attempt=1931204&cmid=91 코딩 도장: 사이트에 로그인 사이트의 강좌를 수강하고 학습 효과를 최대한 높이려면 회원 가.. 2022. 11. 8.
728x90
반응형