>  기사  >  C 언어의 정적 변수란 무엇입니까?

C 언어의 정적 변수란 무엇입니까?

清浅
清浅원래의
2019-04-30 15:30:0033411검색

C 언어의 정적 변수는 static 키워드로 수정된 변수를 말합니다. 정적 변수에는 두 가지 유형이 있습니다. 하나는 전역 변수에 정의된 전역 정적 변수이고, 다른 하나는 지역 변수에 정의된 지역 정적 변수입니다.

C 언어의 정적 변수란 무엇입니까?

【추천 코스: C 언어 튜토리얼

정적 변수

정적 변수는 static 키워드로 선언되며, 이에 대해서는 기사에서 자세히 소개합니다. C 언어에는 정적 변수가 있습니까? 이 문제를 해결하는 데 도움이 되기를 바랍니다.

Static은 "정적"과 "정적"을 의미합니다. C 언어에서의 의미는 실제로 "정적" 또는 "전역"을 의미합니다. 변수나 함수의 범위가 변경됩니다. 변수는 데이터 세그먼트에 저장되며 변수의 범위와 수명주기는 변경될 수 있습니다. C 언어에서 정적 변수는 모든 정적 변수와 로컬 정적 변수의 두 가지 형태로 나뉩니다.

전역 정적 변수

전역 변수 앞에 static 키워드를 추가하면 전역 변수가 전역 정적 변수로 정의됩니다

(1) 메모리 내 위치 : 정적 저장 영역(정적 저장 영역은 전체에 걸쳐 실행됩니다) 프로그램) 기간 동안 존재)

(2) 초기화: 초기화되지 않은 전역 정적 변수는 프로그램에 의해 자동으로 0으로 초기화됩니다

(3) 범위: 전역 정적 변수는 선언된 파일 외부에서 볼 수 없습니다. 정확히 정의 지점부터 파일 끝까지.

로컬 정적 변수

로컬 변수 앞에 static 키워드를 추가하면 해당 로컬 변수가 로컬 정적 변수로 정의됩니다.

(1) 메모리 내 위치: 정적 저장 영역

(2) 초기화: 초기화되지 않은 로컬 정적 변수는 프로그램에 의해 자동으로 0으로 초기화됩니다(자동 개체의 값은 명시적으로 초기화되지 않는 한 임의적입니다)

( 3) 범위: 범위는 여전히 로컬 범위입니다. 이를 정의하는 함수나 명령문 블록이 끝나면 범위가 종료됩니다.

참고

정적을 사용하여 전역 변수를 수정하면 전역 변수의 범위가 변경되지만(선언된 파일 외부에서는 보이지 않음) 저장 위치는 변경되지 않습니다. 정적 저장소에 있습니다.

지역 변수를 수정하기 위해 static을 사용하면 지역 변수의 저장 위치를 ​​원래 스택에서 정적 저장 영역으로 변경합니다. 그러나 지역 정적 변수는 범위를 벗어난 후에도 소멸되지 않고 프로그램이 끝날 때까지 메모리에 계속 남아 있지만 더 이상 액세스할 수 없습니다.

C 언어에서 정적 함수를 사용할 때의 이점

(1) 정적 함수는 프로그램이 종료될 때까지 사용했던 저장 영역에 자동으로 할당되므로 호출 함수의 푸시 앤 팝을 방지하여 훨씬 빠릅니다. .

(2) static은 기능의 범위가 이 파일로 제한된다는 의미입니다. 정의한 함수가 다른 파일의 함수와 동일한 이름을 갖게 될지 걱정하지 마세요

요약: 위 내용이 이 글의 전체 내용이므로 모든 분들께 도움이 되기를 바랍니다.

위 내용은 C 언어의 정적 변수란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.