<from다른 블로그>
auto라는 변수는 일반적으로 자동변수를 의미합니다. 자동변수는 무엇이냐 하면
프로그램이 종료하기 전에지워지는순간자동으로 자신의 주소를 반납하는 변수를 의미합니다.
일반적으로 메모리들은 프로그램이 종료하는 순간 메모리를 반납합니다.
그러나 자동변수는 프로그램이 종료하기 전에도 함수 블록이 끝나면 알아서 메모리를 반납합니다.
auto라는 선언 자체는 스택영역에 메모리를 할당하겠다는 뜻과 같습니다.
그러나 일반적인 지역변수의 디폴트값은 auto(자동변수)이므로 굳이 auto를 선언할 필요가 없습니다.
그렇기 때문에 앞으로도 영원히 auto를 쓸필요 자체가 없습니다.
Q: 정적할당된 변수는 스택에 저장된다는데 정적할당은 컴파일할 때 그 공간의 크기가 정해진다며. 그런데 스택에는 수시로 변수가 생겼다가 없어졌다가 한다. 그런데 어떻게 컴파일 타임 때 크기를 결정한다는 말인가?
혹시 모든 stack변수들만큼의 공간을 할당해놓고 없애면서 사용하는 것인가?
<아래의 블로그가 정말 잘 설명해주고 있음>
'코딩 > C++,C' 카테고리의 다른 글
[c/c++]gcc? (0) | 2021.03.06 |
---|---|
[c/c++] "->" (0) | 2021.03.06 |
[C/C++]객체의 크기 (0) | 2021.03.04 |
[C++] 찾아볼 것들 (0) | 2021.02.21 |
[C++]헤더파일과 cpp파일의 동작방법 (0) | 2021.02.21 |