>백엔드 개발 >C#.Net 튜토리얼 >C언어에서 static을 사용하는 방법

C언어에서 static을 사용하는 방법

下次还敢
下次还敢원래의
2024-05-09 10:48:21651검색

C 언어에서 static 키워드는 변수, 함수 또는 클래스 멤버를 수정하여 정적 범위를 가지며 다음과 같은 특성을 갖도록 수정하는 데 사용됩니다. 내부 연결: 선언된 파일에서만 액세스하거나 호출할 수 있습니다. 값 유지: 변수 및 로컬 함수 변수는 프로그램이 끝날 때까지 해당 값을 유지합니다. 클래스 범위: 클래스 멤버는 전체 클래스에 속하며 모든 인스턴스는 동일한 데이터를 공유합니다. 상수: 정적 const 클래스 멤버는 컴파일 타임 상수로 선언될 수 있습니다.

C언어에서 static을 사용하는 방법

C 언어에서 static 사용법static用法

什么是static

static是一个关键字,用于修饰变量、函数或类成员,表示其具有静态作用域。

变量的static作用域

对于变量,static表示:

  • 内部链接:static变量只能在声明它的文件内访问。
  • 保留值:static变量在程序结束之前一直保留其值,即使它所在的函数已经退出。
  • 默认初始化:全局static变量被初始化为0,局部static变量被初始化为垃圾值。

函数的static作用域

对于函数,static表示:

  • 内部链接:static函数只能在声明它的文件内调用。
  • 局部作用域:static函数的局部变量具有与static变量相同的内部作用域和值保留特性。

类成员的static作用域

对于类成员,static表示:

  • 类作用域:static类成员属于整个类,而不是任何特定对象。
  • 共享数据:所有类实例共享同一份static类成员。
  • 常量: static const类成员可以声明为编译时常量。

何时使用static

使用static

  • static이란 무엇인가요?
  • static은 변수, 함수 또는 클래스 멤버를 수정하여 정적 범위가 있음을 나타내는 데 사용되는 키워드입니다.
  • static 변수 범위

변수의 경우 static은 다음을 의미합니다.

🎜내부 링크: 🎜static 변수는 액세스만 가능 선언된 파일 내에서. 🎜🎜🎜보존 값: 🎜static변수는 변수가 속한 함수가 종료되더라도 프로그램이 끝날 때까지 값을 유지합니다. 🎜🎜🎜기본 초기화: 🎜전역 정적 변수는 0으로 초기화되고, 지역 정적 변수는 가비지 값으로 초기화됩니다. 🎜🎜🎜🎜static 함수 범위 🎜🎜🎜함수에서 static은 다음을 의미합니다. 🎜🎜🎜🎜내부 링크: 🎜static 함수만 가능 선언된 파일 내에서 호출됩니다. 🎜🎜🎜로컬 범위: 🎜 정적 함수의 로컬 변수는 정적 변수와 동일한 내부 범위 및 값 유지 속성을 갖습니다. 🎜🎜🎜🎜static 클래스 멤버 범위🎜🎜🎜클래스 멤버의 경우 static은 다음을 의미합니다. 🎜🎜🎜🎜클래스 범위: 🎜staticClass 멤버는 특정 개체가 아닌 전체 클래스에 속합니다. 🎜🎜🎜공유 데이터: 🎜모든 클래스 인스턴스는 동일한 정적 클래스 멤버를 공유합니다. 🎜🎜🎜상수:🎜 static const 클래스 멤버는 컴파일 타임 상수로 선언될 수 있습니다. 🎜🎜🎜🎜언제 정적을 사용하나요? 🎜🎜🎜정적 사용에 대한 일반적인 시나리오는 다음과 같습니다. 🎜🎜🎜변수 또는 함수의 가시성 제한 🎜🎜함수 로컬 변수의 상태 보존 🎜🎜클래스에서 공유 데이터 사용 🎜🎜컴파일 선언 시간 상수🎜 🎜🎜🎜예🎜🎜
<code class="c">// 外部变量,全局可见
int external_var = 10;

// 静态变量,仅在本文件中可见且保留其值
static int static_var = 20;

// 静态函数,仅在本文件中可见且局部变量保留其值
static void static_func() {
    static int local_var = 30;
    local_var++;
}

// 静态类成员,所有对象共享
class MyClass {
public:
    static int shared_var = 40;
};</code>

위 내용은 C언어에서 static을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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