"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C 및 C ++의 정적 및 글로벌 변수에 대한 초기화 프로세스는 무엇입니까?

C 및 C ++의 정적 및 글로벌 변수에 대한 초기화 프로세스는 무엇입니까?

2025-03-24에 게시되었습니다
검색:415

What is the Initialization Process for Static and Global Variables in C and C  ?

Initialization Timing in C

In C code, global variables like global_int1 and global_int2, which have no explicit initializer, are initialized to 0 by the system. 그러나 정적 변수 static_int1 및 static_int2는 초기화되지 않습니다. 그들의 값은 프로그램 내에서 명시 적으로 설정 될 때까지 불확실한 상태로 남아있다. 이 값은 실행 파일의 데이터 세그먼트에 저장됩니다.

프로그램 실행시 시스템은 데이터 세그먼트를 포함하여 실행 파일을 메모리에로드합니다. 그런 다음 글로벌 변수는 메모리를 할당하고 데이터 세그먼트에 저장된 값으로 초기화됩니다.

C

C에서 초기화 단계를 초기화합니다. 처음에는 0으로 설정됩니다.

정적 초기화 :

정적 초기화가있는 객체 (예 : static_int1)는 그들의 값을 할당합니다.

동적 초기화 :

객체를 사용하여

객체를 사용합니다. 코드 실행을 통해.

  1. c
  2. 의 메모리 관리 c의 정적 초기화 값은 실행 파일의 데이터 세그먼트에 저장됩니다. C와 유사하게,이 값은 프로그램 실행 중에 메모리에로드되고 각 변수에 할당됩니다.
  3. 변수는 초기화기가 없거나 동적 초기화를 가진 변수는 BSS 세그먼트에 메모리를 할당합니다. 시스템은 프로그램 실행 전에 이러한 변수를 0으로 초기화합니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3