C 언어에서 정적 변수의 역할은 함수 호출 중에 값을 변경하지 않고 유지하는 것입니다. 왜냐하면 정적 변수에는 메모리 함수가 있지만 범위가 제한되어 있고 모듈 내의 함수에서만 사용할 수 있기 때문입니다. 방문 등
추천: "ctutorial"
C 언어에서 정적 변수의 역할은 다음과 같습니다. 정적 변수에는 메모리 기능이 있으며 함수 호출 중에 값이 변경되지 않고 유지됩니다. 해당 범위는 제한되어 있으며 모듈 내의 함수를 통해서만 액세스할 수 있습니다.
C 언어에서 키워드 static은 정적을 의미하며 3가지 명백한 기능을 갖습니다:
1 . 정적 변수에는 메모리 함수가 있습니다. 즉, static으로 선언된 변수의 값은 함수가 호출될 때 변경되지 않습니다.
2. 모듈 내(함수 외부)에서는 범위가 제한됩니다. 변수가 정적으로 선언되면 모듈의 모든 함수에서 해당 변수에 액세스할 수 없습니다. 모듈 외부의 다른 기능으로.
3. 현재 소스 파일 외부에서 사용할 수 있는 기능은 해당 기능을 사용하는 소스 파일에 설명하고 정의해야 합니다. 이 헤더 파일을 포함해야 합니다.
정적 데이터 멤버의 특성:
1. 비정적 데이터 멤버의 경우 각 클래스에는 자체 복사본이 있습니다. 정적 데이터 멤버는 클래스의 멤버로 처리됩니다. 이 클래스의 개체 수에 관계없이 프로그램에는 이 유형의 모든 개체가 공유하고 액세스하는 정적 데이터 멤버의 복사본이 하나만 있습니다.
2. 정적 데이터 멤버는 전역 데이터 영역에 저장됩니다. 정의할 때 공간을 할당해야 하므로 클래스 선언에서는 정의할 수 없습니다. 정적 데이터 멤버는 이 클래스의 모든 객체에 의해 공유되므로 특수 클래스 객체에 속하지 않습니다. 클래스 객체가 생성되지 않으면 해당 범위가 표시됩니다. 즉, 클래스의 인스턴스가 없을 때 프로그래머도 이를 사용할 수 있습니다. 생성되었습니다.
3. 정적 데이터 구성원은 공개, 보호 및 비공개 액세스 규칙도 준수합니다.
4. 정적 멤버 변수의 초기화는 클래스 외부에서 이루어지며 현재는 static 키워드를 사용할 수 없습니다. private 및 protected의 정적 멤버는 클래스 외부에서 초기화할 수 있지만 클래스 외부에서는 액세스할 수 없습니다.
정적 데이터 멤버의 장점:
1 정적 데이터 멤버는 프로그램의 전역 네임스페이스에 들어가지 않습니다. 프로그램의 다른 구성원과 함께 존재합니다. 전역 이름 충돌 가능성이 있습니다.
2. 정보 숨김이 가능합니다. 정적 데이터 멤버는 전용 멤버일 수 있지만 전역 변수는 그럴 수 없습니다.
#include<stdio.h> #include <iostream> #include "a.h" using namespace std; void fun(int i) { static int value = i++; cout<<value<<endl; }int main() { fun(0); fun(1); fun(2); return 0; }
실행 결과
0 0 0
위 내용은 C 언어에서 정적 변수를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!