位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 aotu變量

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-01

aotu型變量是C語言中使用的最為廣泛的一種變量,其類型說明符為auto,也可叫做自動(dòng)變量。

1.auto變量的定義格式

    [auto]數(shù)據(jù)類型變量表;

2.說明

(1)auto可以省略,省略后,和前面所使用的在函數(shù)體內(nèi)定義的局部變量形式一樣,所以C語言規(guī)定,凡是沒有加任何存儲(chǔ)說明符的全部都是aotu型變量。例如如下兩個(gè)示例等價(jià):

    auto float x,y; 

    float x,y;

(2)auto變量是動(dòng)態(tài)存儲(chǔ)方式,其作用域僅限于本函數(shù)體內(nèi),當(dāng)函數(shù)被調(diào)用時(shí),系統(tǒng)為之分配內(nèi)存空間,函數(shù)調(diào)用結(jié)束,所分配的空間釋放。

(3)若auto變量定義了,但沒有初始化,其值是不確定的。auto變量如果初始化,賦初值操作是在當(dāng)函數(shù)調(diào)用時(shí),為該變量分配內(nèi)存空間時(shí)進(jìn)行的,且每次函數(shù)調(diào)用都要重新為該變量分配空間并賦一次初值。例如:

void fun()

{

    int m=l; 

    m=m+l;

    printf("m=%d\n",m);

}

main()

{

    int i;

    for(i=l;i<=5;i++)

    fun();

}

    main()函數(shù)中的變量i及fun()函數(shù)中的變量m都是auto變量,因main()函數(shù)中執(zhí)行一個(gè)循環(huán)次數(shù)為5的for循環(huán),每次循環(huán)調(diào)用fun()函數(shù)。每次調(diào)用,都會(huì)為變量m分配內(nèi)存空間,并初始化賦值為1,之后執(zhí)行m=m+1操作,m的值為2,并輸出。fun()函數(shù)執(zhí)行完畢,釋放auto變量m所占的空間??梢?看出,無論執(zhí)行多少次,輸出m的值都是2,因?yàn)閙的值不會(huì)保留下來,這就是auto變量的特點(diǎn)。

(4)由于自動(dòng)變量的作用域和生存期,都局限于定義它的函數(shù)體或復(fù)合語句內(nèi),因此不同的函數(shù)體或復(fù)合語句中允許使用同名的變量,而不會(huì)混淆。即使在函數(shù)內(nèi)定義的自動(dòng)變量,也可與該函數(shù)內(nèi)部 的復(fù)合語句中定義的自動(dòng)變量同名。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部