• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

static int a;

22.11.05 00:15 작성 조회수 220

1

void doSomething()

{ static int a ;

++a;

cout << a << endl; }

int main()

{ doSomething();

doSomething(); }

 

연습 차 일부러 static에 초기화 값을 안넣어줬는데요. error 가 안나고 0으로 자동 초기화해서 1, 2 ,가 출력되더라고요. 원래 static은 초기화를 안해주면 0으로 알아서 넣어주나요?

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2022.11.05

네, 그렇습니다.

아래 예시 코드로도 확인해보세요 :)

#include <iostream>

int main(){

    static int a;

    std::cout << a << '\n';
    std::cout << ++a << '\n';

    return 0;
}