ANSI-C에서 정적이란 무엇을 의미합니까?
중복 가능:
C 프로그램에서 "정적"이란 무엇을 의미합니까?
무엇을.static
키워드 평균은 C?
ANSI-C를 사용하고 있습니다.몇 가지 코드 예시를 봤는데, 그들은 다음 코드를 사용합니다.static
키워드를 변수 앞과 함수 앞에 입력합니다.변수와 함께 사용하는 경우의 목적은 무엇입니까?그리고 기능과 함께 사용하는 경우의 목적은 무엇입니까?
간단한 대답처럼, 두 가지 용도가 있습니다.static
변수를 정의할 때 키워드:
1- 파일 범위에 정의된 변수:static
키워드, 즉 정의된 외부 기능은 해당 파일 내에서만 볼 수 있습니다.다른 파일에서 액세스를 시도하면 링크 시 확인되지 않은 기호가 표시됩니다.
2 - 다음과 같이 정의되는 변수static
함수 내의 블록 내에서 동일한 코드 블록의 다른 호출에 걸쳐 지속되거나 "survive"됩니다.초기화된 것으로 정의된 경우에는 한 번만 초기화됩니다.static
변수는 일반적으로 다음과 같은 초기화가 보장됩니다.0
기본적으로
static
함수의 본문 내에서, 즉 변수 저장 분류기로 사용하면 함수 호출 간에 해당 값을 유지할 수 있는 변수가 됩니다. 함수 내의 정적 변수는 해당 함수에서만 볼 수 있는 전역 변수라고 할 수 있습니다.의 사용.static
스레드에서 사용되는 함수를 항상 안전하지 않게 합니다. 피해야 합니다.
다른 사용 사례는 다음을 사용하고 있습니다.static
전역 범위, 즉 전역 변수와 함수의 경우: 정적 함수와 전역 변수는 컴파일 단위에 로컬입니다. 즉, 컴파일된 이진 개체의 내보내기 테이블에 나타나지 않습니다.따라서 네임스페이스를 오염시키지 않습니다.문제의 컴파일 단위(즉, C 파일) 외부에서 모든 함수와 전역 변수에 접근할 수 없도록 정적으로 선언하는 것이 좋습니다!헤더 파일에 정적 변수를 배치해서는 안 됩니다(매우 드문 특수한 경우는 제외).
언급URL : https://stackoverflow.com/questions/4576607/what-does-static-mean-in-ansi-c
'programing' 카테고리의 다른 글
워드프레스에서 직렬화된 데이터로 작업하기 (0) | 2023.09.24 |
---|---|
Python Element를 사용하여 xml 속성을 추출하는 방법나무 (0) | 2023.09.24 |
안드로이드에서 수평 리스트뷰를 만들려면 어떻게 해야 합니까? (0) | 2023.09.24 |
MySQL 및 1억 개 이상의 행이 있는 테이블 (0) | 2023.09.19 |
dropzone.js에서 기본 텍스트를 변경하려면 어떻게 해야 합니까? (0) | 2023.09.19 |