제 생각에 각 스레드는 일반적으로 하나의 스택 만 가져옵니다 (프로세스의 모든 스레드는 일반적으로 힙을 공유합니다). 저는 스택이 함수 호출이 발생할 때 프로그램 카운터 (PC)의 값을 저장하는 데 사용되는 것으로 항상 생각했습니다. 그러나 나는 어딘가에서 integer
또는 boolean
과 같은 특정 변수 유형을 스택에 할당합니다. 스택의 값은 엄격한 FILO 방식으로 관리되기 때문에 언제 이러한 변수를 검색 할 수 있습니까?변수가 스택에 할당되면 언제든지 변수를 검색 할 수 있습니까?
예를 들어, int a, b, c;
을 선언 한 후에는 범위 내에서 언제든지 이러한 변수를 원하는 순서대로 지정할 수 있습니다. 어떻게 이뤄지나요? 왜 스택의 맨 위에 값이 c
이 아니며 값이 a, b
입니까?