在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ C語言存儲分類
C語言printf()和scanf()函數(shù)
C語言strlen()函數(shù)
C語言指針
C語言ftell()函數(shù)
C語言#ifdef指令
C語言程序執(zhí)行流程
C語言歷史
C語言fprintf()和fscanf()函數(shù)
C語言#define指令
C語言#if指令
C語言將數(shù)組傳遞給函數(shù)
C語言指針的指針
C語言rewind()函數(shù)
C語言常量
C語言strcat()函數(shù)
C語言#ifndef指令
C語言continue語句
C語言注釋
C語言#include指令
C語言類型轉(zhuǎn)換
C語言strcpy()函數(shù)
C語言strlwr()函數(shù)
C語言while循環(huán)
C語言字符串
C語言strrev()函數(shù)
C語言gets()和puts()函數(shù)
C語言文件處理
C語言存儲分類
C語言運(yùn)算符
C語言數(shù)據(jù)類型
C語言strcmp()函數(shù)
C語言VS開發(fā)環(huán)境安裝
C語言轉(zhuǎn)義序列
C語言第一個程序
C語言變量
C語言goto語句
C語言預(yù)處理器指令
C語言指針?biāo)阈g(shù)運(yùn)算
C語言數(shù)學(xué)函數(shù)
C語言二維數(shù)組
C語言for循環(huán)
C語言命令行參數(shù)
C語言通過值和引用函數(shù)
C語言fputs()和fgets()函數(shù)
C語言do-while循環(huán)
C語言結(jié)構(gòu)體數(shù)組
C語言循環(huán)
C語言#pragma指令
C語言關(guān)鍵字
C語言#error指令
C語言聯(lián)合體
C語言特點(diǎn)
C語言break語句
C語言遞歸
C語言函數(shù)
C語言結(jié)構(gòu)體
C語言switch語句
C語言結(jié)構(gòu)體嵌套
C語言fputc()和fgetc()函數(shù)
C語言fseek()函數(shù)
C語言字符串函數(shù)
C語言if-else語句
C語言教程
C語言宏
C語言數(shù)組
C語言strupr()函數(shù)
C語言#undef指令

C語言存儲分類

存儲分類用于定義變量的范圍和使用壽命。C語言編程中有四個存儲分類。它們分別如下 -

  • auto
  • extern
  • static
  • register
存儲類 存儲地點(diǎn) 默認(rèn)值 范圍 生命周期
auto RAM 垃圾值 局部 函數(shù)中
extern RAM 全局 直到主程序結(jié)束,可以在程序的任何地方聲明
static RAM 局部 直到主程序結(jié)束,保留多個函數(shù)之間的值調(diào)用
register 寄存器 垃圾值 局部 函數(shù)中

1. auto變量

auto關(guān)鍵字自動應(yīng)用于所有局部變量。它是默認(rèn)存儲類,這就是為什么它被稱為自動變量。

為了方便演示,首先創(chuàng)建一個工程:storage-classes,然后在此工程下創(chuàng)建一個源文件:auto-example.c,其代碼如下 -

#include <stdio.h>  
void main() {
    int a = 10;
    auto int b = 10;//same like above  
    printf("%d %d", a, b);
}

執(zhí)行上面示例代碼,得到以下結(jié)果 -

10 10

2.register變量

寄存器(register)變量將寄存器的內(nèi)存分配給RAM。 其大小與寄存器大小相同。它比其他變量的訪問速度更快。

建議僅使用寄存器變量進(jìn)行快速訪問,如計數(shù)器。

注意:我們無法獲取寄存器變量的地址。

聲明示例:

register int counter = 0;

3.static變量

靜態(tài)變量只初始化一次,直到程序結(jié)束。它在多個函數(shù)調(diào)用之間保留其值。
靜態(tài)變量的默認(rèn)值為0,由編譯器提供。

創(chuàng)建一個源文件:static-example.c,其代碼如下 -

#include <stdio.h>  
void func() {
    static int i = 0;//static variable  
    int j = 0;//local variable  
    i++;
    j++;
    printf("i= %d and j= %d\n", i, j);
}

void main() {
    func();
    func();
    func();
}

執(zhí)行上面示例代碼,得到以下結(jié)果 -

i= 1 and j= 1
i= 2 and j= 1
i= 3 and j= 1

4.extern變量

所有程序都可以看到(或訪問)extern變量。如果兩個或多個文件共享相同的變量或函數(shù),則可使用extern變量。

下面是一個聲明示例:

extern int counter = 0;