변수 초기화는 대입 연산이 아닌가요?
도도한
2023.04.01
int num = 10;
이와 같은 선언명령문에서 =는 대입연산을 하고 있는 거 아닌가요 -_-? 어떤책을 읽고 있는데 뉘앙스가 초기화는 대입연산이 아닌 듯한 느낌을 주네요.
-
흙이랑
미묘하지만 다릅니다.
메모리 공간이 확보됨과 동시에 초기화가 되었냐, 메모리 공간 확보 이후에 대입이 되었냐...
미묘한 차이지만 c++에선 상당한 차이를 만들어 냅니다.
다만 c에선 거의 동일하다고 봐도 무방하고, 실제로
int a; a=1; 과 같은건 컴파일러 마음대로 int a=1; 같은 형태로 고쳐서 컴파일 하기도 합니다.