夜间福利网站,免费动漫av,一级做a爰片久久毛片免费陪,夜夜骑首页,黄色毛片视频,插插插操操操,综合av色

C語言中變量儲存的類別

時間:2026-01-01 14:10:42 C語言 我要投稿

C語言中變量儲存的類別

  C語言根據(jù)變量的生存周期來劃分,可以劃分為靜態(tài)存儲方式和動態(tài)存儲方式。

  C語言中變量儲存的類別

  靜態(tài)存儲方式:是指在程序的運(yùn)行期間分配固定的存儲空間的方式。靜態(tài)存儲區(qū)中存儲放了在整個程序執(zhí)行過程中都存在的變量,如全局變量

  動態(tài)存儲方式:是指在程序運(yùn)行期間根據(jù)需要進(jìn)行動態(tài)的分配存儲空間的方式。動態(tài)存儲區(qū)中存放的變量是根據(jù)程序運(yùn)行需要而進(jìn)行的需要而建立和釋放的`。通常包括: 1. 函數(shù)形式參數(shù);2. 自動變量;3. 函數(shù)調(diào)用時的現(xiàn)場保護(hù)、4. 和返回值地址等。

  C語言中的存儲類別又分為4類:

  自動(auto)、

  靜態(tài)(static)、

  動態(tài)(extern)

  寄存器(register)

  1、 用關(guān)鍵字auto定義的變量為自動變量,auto可以省略,auto不寫則隱含定為”自動存儲類別“,屬于動態(tài)存儲方式。

1
2
3
4
5
int fn(int a)/pic/code>        
{        
/pic/code>        
    auto  int b,c;        
}        

  2、用static修飾的為靜態(tài)變量,如果定義在函數(shù)內(nèi)部,稱之為靜態(tài)局部變量;如果定義在函數(shù)外部,稱之為靜態(tài)外部變量,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>        
 
void fn()        
{        
    static int x =0;        
    x++;        
    printf("fn: x=%d ",x);        
}        
int main()        
{        
    int i;        
    for(i=0;j<10;i++)        
    {        
        fn();        
    }        
    return 0;        
}</stdio.h>        

  注意:

  靜態(tài)局部變量屬于靜態(tài)存儲類別,在靜態(tài)存儲區(qū)內(nèi)分配存儲單元,在程序整個運(yùn)行期間都不釋放;

  靜態(tài)局部變量在編譯時賦初值,即只賦初值一次;如果在定義局部變量時,不賦初值的話,則對靜態(tài)局部變量來說,編譯時自動賦初值0.(對數(shù)值型變量)或空字符(對字符變量)。

  3、為了提高效率,C語言允許將局部變量得值放在CPU中的寄存器中,這種變量叫”寄存器變量“,用關(guān)鍵字register做聲明

1
2
3
4
void fn()        
{        
    register int i;        
}        

  注意:只有局部自動變量和形式參數(shù)可以作為寄存器變量;一個計(jì)算機(jī)系統(tǒng)中的寄存器數(shù)目有限,不能定義任意多個寄存器變量

  局部靜態(tài)變量不能定義為寄存器變量。

  4、用extern聲明的變量是外部變量,外部變量的意義是某函數(shù)可以調(diào)用在該函數(shù)之后定義的變量

1
2
3
4
5
6
7
#include <stdio.h>        
int main()        
{        
    extern int x;/pic/code>        
    printf("extern x=%d ",x);        
}        
int x=100;</stdio.h>        

  任務(wù):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>        
void fn()        
{        
    static int x = 1;        
    x *= 2;        
    printf("x=%d ",x);        
}        
int main()        
{        
    int i;        
    for(i=0;i<5;i++)        
    {        
        fn();        
    }        
    extern int x;        
    printf("x=%d ",x);        
    return 0;        
}        
int x = 100;</stdio.h>        

  運(yùn)行結(jié)果是x=2;x=4;x=8;x=16;x=32;x=100

【C語言中變量儲存的類別】相關(guān)文章:

c語言中什么是變量08-23

C語言中的相關(guān)變量知識08-20

c語言中什么是靜態(tài)變量02-02

c語言中使用環(huán)境變量的技巧10-04

C語言中根據(jù)成員變量來排序的方法12-01

C語言變量存儲類別和內(nèi)存四區(qū)08-20

C語言中指針變量作為函數(shù)參數(shù)詳解08-26

C語言中判斷int、long型等變量是否賦值的方法01-27

JAVA語言中的實(shí)例變量12-15

  • 相關(guān)推薦