본문
C 언어 교제에는 변수를 초기화 하지 않고 사용하면 오류를 뿜거나 아예 실행이 되지 않는다고 나와있다.
실행이 되는 컴파일러라 하더라도 초기값이 없으므로 해당 메모리에 있는 쓰래기 값을 출력한다.
// 초기화 하지 않은 값
#include <stdio.h>
int main() {
int arr;
printf("arr : %d\n", arr);
return 0;
}
그런데...
웃기게도 내가 사용중인 macOS 환경에서 clang / LLVM으로 컴파일 하였을때는 값이 0 으로 멀쩡히 출력이 된다.
arr : 0
master@Princess-Mac C++ %
C 표준이 초기 값이 지정되지 않으면 0으로 넣도록 변경되었거나... clang에서 컴파일 단계에서 0을 넣어주거나... 둘 중 하나이다.
'프로그래밍 > C' 카테고리의 다른 글
포인터와 & 단항 연산자 (0) | 2021.10.25 |
---|---|
맥에서 vscode와 clang을 이용한 C/C++환경 설정하기 (1) | 2021.10.24 |
배열의 크기를 변수로 지정하기 (0) | 2021.10.23 |
소수를 구하는 프로그램 (0) | 2021.10.23 |
배열 기초 (0) | 2021.10.22 |