static 변수에 관해서 질문이 있습니다.
int TestFunc(){
static int a = 10;
++a;
return a;
}
int main(){
printf("%d\n",TestFunc());
printf("%d\n",TestFunc());
printf("%d\n",TestFunc());
}위 예제에서의 질문입니다.
1. Compile시에 정적영역이 결정되는 건가요?
질문이유 : a의 주소에 코드가 실행되지 않았음에도 이미 10이라는 값이 들어가있어서 질문을 드립니다.
2. TestFunc()이 실행될 때 static int a = 10가 매번 평가되는게 아닌건가요?
질문이유 : 제 생각으로는 정적영역에 있더라도, 할당 연산자 때문에 10을 매번 넣어서, 출력값이 11 ,11 ,11이 될거라고 생각했습니다.
답변 1
결과 오류
0
74
3
최댓값 구하기(서바이벌)에서 수식 구성에 대한 질문
0
88
2
scanf_s 에 관해서 오류나옵니다.
0
161
3
자문자답- 맞는지 틀린지 확인부탁드립니다.
0
81
1
메모리 동적할당시 메모리창 빨간 글씨
0
84
2
리눅스로 진행해도 될까요?
0
94
2
sizeof는 컴파일 타임 연산자라서 CPU를 사용치 않는다
0
95
2
scanf("%d\n") 의미
0
98
2
주소 연산자(&) 간접 지정자(*) 반대 개념
0
103
2
Virtual Memory, Memory, Memory mapping tables
1
124
2
샘플코드 출력 오류 발생 질문드립니다
0
170
2
값의 교환에 사용되는 변수의 위치.
0
158
2
메모리 비교에 관한 질문
0
141
2
문자열 Null
0
107
1
C, C++
0
137
2
문자열 입출력 코드 에러
0
120
2
선생님! 120화 2분 50초 질문입니다.
0
108
1
caller 가 메모리 할당 해제를 할 때의 문제점 질문
0
114
2
단축키 맞는지 여부 문의드립니다.
0
111
2
문자열을 사용하는 이중 포인터에 대하여 질문합니다
0
102
1
char 포인터 변수의 크기에 대하여 제가 이해한 것이 맞을까요
0
123
2
용어 설명 필요
0
100
2
stdin, stdout
0
104
2
필수 실습 (최댓값을 반환하는 함수)
0
136
2





