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
43
2
scanf_s 에 관해서 오류나옵니다.
0
107
3
자문자답- 맞는지 틀린지 확인부탁드립니다.
0
66
1
메모리 동적할당시 메모리창 빨간 글씨
0
71
2
리눅스로 진행해도 될까요?
0
68
2
sizeof는 컴파일 타임 연산자라서 CPU를 사용치 않는다
0
69
2
scanf("%d\n") 의미
0
76
2
주소 연산자(&) 간접 지정자(*) 반대 개념
0
84
2
Virtual Memory, Memory, Memory mapping tables
0
108
2
샘플코드 출력 오류 발생 질문드립니다
0
115
2
값의 교환에 사용되는 변수의 위치.
0
131
2
메모리 비교에 관한 질문
0
120
2
문자열 Null
0
88
1
C, C++
0
116
2
문자열 입출력 코드 에러
0
93
2
선생님! 120화 2분 50초 질문입니다.
0
93
1
caller 가 메모리 할당 해제를 할 때의 문제점 질문
0
94
2
단축키 맞는지 여부 문의드립니다.
0
99
2
문자열을 사용하는 이중 포인터에 대하여 질문합니다
0
85
1
char 포인터 변수의 크기에 대하여 제가 이해한 것이 맞을까요
0
106
2
용어 설명 필요
0
92
2
stdin, stdout
0
91
2
필수 실습 (최댓값을 반환하는 함수)
0
117
2
아......ㅠㅠ
0
130
2





