[C, C++] 전역변수와 정적변수가 0으로 초기화되는 이유
전역변수(global), 정적변수(static), 지역변수(local) 초기화를 하지 않은 전역변수, 정적변수, 지역변수를 선언하고 출력해보았다. 위 코드를 실행하면 아래와 같은 출력을 얻는다. 따로 초기화를 하지 않았지만 전역변수(global)와 정적변수(static)는 자동으로 0으로 초기화되었고 지역변수(local)는 초기화를 하지 않아서 쓰레기 값이 들어갔다. 이는 변수의 저장 위치가 다르기 때문에 발생하는 결과다. Data, BSS, Stack 지역변수는 메모리의 Stack Segment에 저장되며 선언된 함수가 종료되면 메모리에서 사라진다. … Read more