變量作用域


1.     內存作用域

作用域:一個變量的作用域就是一個{}中。可以在mian函數中用一個{}來隔絕兩個相同的變量名。

extern 使用:

a.c:

int age;

main.c

#include<stdio.h>

extern int age; 
void set_age(int n)
{
    age = n;
}

void get_age()
{
    printf("age = %d\n", age);
}

int main()
{
    set_age(10);
    get_age();
    system("pause");
    return 0;
}

extern int age; //有一個變量,類型是int,名字是age,已經在同文件下其他文件中定義了,直接//使用就好了,不需要再重新定義了。這個變量是全局變量。

運行結果:age = 10

 

注意:出現在括號之外的變量就是全局變量。

2.register變量:建議如果有寄存器空閑,就放到寄存器中,可以加快效率。

注意: 對於一個寄存器變量,是不能取地址的。

 

3.靜態變量:static修飾,只初始化一次,在程序運行期間,靜態變量一直存在。雖然靜態變量的生存周期和整個程序的一樣,但是它的作用域還是在它本身的{}中。

 

4.代碼在作用域之外的變量:全局變量和靜態變量相似;一旦全局變量定義為靜態變量,意思是這個變量只是在這個變量的文件中有效。

 

5. 用static修飾函數:那該函數只能在該文件中被引用。將某個文件或者某個變量約束在本身文件中使用。在文件外部是不可以使用的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM