중화사전망 - 서예자전 - C 언어에서 함수를 여러 번 호출할 때 정적 로컬 변수는 한 번만 값을 할당합니다.

C 언어에서 함수를 여러 번 호출할 때 정적 로컬 변수는 한 번만 값을 할당합니다.

컴파일러에서 코드를 처리할 때 정적 변수 초기화가 발생하면 함수 f 외부에 명령을 생성하고 j 에 0 값을 할당합니다. 이러한 명령은 main 함수를 호출하기 전에도 실행됩니다. 함수에서 첫 번째 문은 실제로 j=0 이 아니라 ++j 입니다.

이렇게 하면 정적 로컬 변수가 한 번만 초기화됩니다.