inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

static 변수

static 변수 질문있습니다

해결된 질문

373

doy

작성한 질문수 1

1

두번 째 코드에서 initialized = 1 로 바꿔주고

initialize(); 함수로 다시 들어갈때

static int initialized = 0; 을 다시만나는데 여기서 다시 0이 되는게 아닌건가요?

python java c 정보처리기사

답변 2

1

주말코딩

제가 자세한 설명을 안 달아놔서, 제가 봐도 오해할 수 있겠네요.

강의 자료의 해당 내용은 즉시 수정했습니다.



static 변수는 한 번 초기화되면 그 다음부터는 초기화가 되지 않습니다.

오로지 재할당만 가능하죠.

그래서 static int initialized = 0; 을 몇 번이라도 다시 만나도 해당 문장은 최초 한 번만 실행되고 그 다음부터는 무시합니다.

값의 재할당은 가능하기 때문에 1을 넣었을 때 1로 변해있습니다.

 

좋은 질문 주셔서 감사드립니다.

0

doy

감사합니다!

0

태라

추가 질문있습니다.

  1. initialized = 1;

이 줄이 재할당 역할을 한 것이라면 출력을 네 번 해도

초기화...

초기화가 완료되었습니다.

초기화가 완료되었습니다.

초기화가 완료되었습니다.

이렇게 나오는게 맞나요?

int main() {

initialize();

initialize();

initialize();

initialize();

취소선으로 표시한 줄이 없다고 하면

출력값이

"초기화..."

"초기화..."

인가요?

#include <stdio.h>

void initialize() {

static int initialized = 0;

if (!initialized) {

printf("초기화...\n");

initialized = 1; << '이 부분'

} else { printf("초기화 완료되었습니다.\n");

}

}

int main() {

initialize();

initialize();

return 0;

}

1

주말코딩

  1. 네, 맞습니다. 출력 4번 했을 시

     

     

초기화...
초기화 완료되었습니다.
초기화 완료되었습니다.
초기화 완료되었습니다.

이렇게 출력됩니다.

 

  1. 네, 맞습니다. 재할당이 없는 경우에는

초기화...
초기화...

 

이렇게 출력됩니다.

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

45

2

조건 반복문 질문: for 문 ?

0

59

1

정처기 26-2회. 9번 질문드립니다!

0

77

1

이론 보면서 질문이 있습니다.

0

71

2

정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문

0

86

2

유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)

0

144

2

262 정처기 실기 C언어코딩

0

45

1

정보처리기사 262 실기 Hash(해시) 질문

0

77

2

static 변수 질문입니다.

0

60

2

파이썬 4강 질문입니다.

0

67

2

모의고사 1회 3번문제

0

87

3

41강 30:10

0

66

2

이론 공부법 질문 있습니다.

0

86

2

부모의 생성자 관련 질문

0

64

2

시험지 문제에 필기해도 되나요?

0

87

3

41강 11:23

0

58

2

4강파이썬 질문입니다

0

53

2

try-catch 핸들러명

0

64

2

36강 3:48

0

62

2

35강 18:27

0

65

2

자식 코드 내 super() 생략

0

59

2

출력질문

0

73

2

31강 4:06

0

64

2

파이썬 학습자료가 강의 자료와 다릅니다.

0

94

3