變量是對(duì)程序中數(shù)據(jù)的存儲(chǔ)空間的抽象,變量的屬性,數(shù)據(jù)類(lèi)型:變量所持有的數(shù)據(jù)的性質(zhì)(操作屬性)
一、局部變量
在函數(shù)內(nèi)定義,只在本函數(shù)內(nèi)有效。main中定義的變量只在main中有效,不同函數(shù)中同名變量,占不同內(nèi)存單元。形參屬于局部變量??啥x在復(fù)合語(yǔ)句中有效的變量
局部變量可用存儲(chǔ)類(lèi)型:auto register static (默認(rèn)為auto)
函數(shù)舉例:
main()
{ int a,b;
a=3;
b=4;
printf("main:a=%d,b=%d\\n",a,b);
sub();
printf("main:a=%d,b=%d\\n",a,b);
}
sub()
{ int a,b;
a=6;
b=7;
printf("sub:a=%d,b=%d\\n",a,b);
}
運(yùn)行結(jié)果:
main:a=3,b=4
sub:a=6,b=7
main:a=3,b=4
二、全局變量
在函數(shù)外定義,可為本文件所有函數(shù)共用,從定義變量的位置開(kāi)始到本源文件結(jié)束,及有extern說(shuō)明的其它源文件。
外部變量說(shuō)明:extern 數(shù)據(jù)類(lèi)型 變量表;
外部變量定義與外部變量說(shuō)明不同;
若外部變量與局部變量同名,則外部變量被屏蔽
外部變量可用存儲(chǔ)類(lèi)型:缺省 或 static
應(yīng)盡量少使用全局變量,因?yàn)椋?/p>
Y全局變量在程序全部執(zhí)行過(guò)程中占用存儲(chǔ)單元Y降低了函數(shù)的通用性、可靠性,可移植性Y降低程序清晰性,容易出錯(cuò)。
float max,min;
float average(float array[], int n)
{ int i; float sum=array[0];
max=min=array[0];
for(i=1;iif(array[i]>max) max=array[i];
else if(array[i]array[i];
sum+=array[i];
}
return(sum/n);
}
main()
{ int i; float ave,score[10];
/*Input */
ave=average(score,10);
printf("max=%6.2f\\nmin=%6.2f\\n
average=%6.2f\\n",max,min,ave);
}
- 局部變量默認(rèn)為auto型uregister型變量個(gè)數(shù)受限,且不能為long, double, float型
- 局部static變量具有全局壽命和局部可見(jiàn)性
- 局部static變量具有可繼承性
- extern不是變量定義,可擴(kuò)展外部變量作用域
-
程序
+關(guān)注
關(guān)注
117文章
3797瀏覽量
81439 -
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28470 -
存儲(chǔ)空間
+關(guān)注
關(guān)注
0文章
55瀏覽量
10728
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
C語(yǔ)言里變量的生命周期
![<b class='flag-5'>C</b>語(yǔ)言里<b class='flag-5'>變量</b>的生命周期](https://file1.elecfans.com/web2/M00/8C/6F/wKgZomSsts2ALAZ3AABIZrtb6DA588.png)
跟著狄泰唐老師學(xué)C語(yǔ)言進(jìn)階教程的筆記之變量的屬性
嵌入式C語(yǔ)言之變量與常量詳解
嵌入式C語(yǔ)言之變量與常量簡(jiǎn)析
高效的C編程之變量類(lèi)型
![高效的<b class='flag-5'>C</b>編程<b class='flag-5'>之變量</b>類(lèi)型](https://file.elecfans.com/web2/M00/4A/0E/pYYBAGKhvI-AcsHTAAArjReA0o8586.png)
C語(yǔ)言指針與指針變量的簡(jiǎn)介和運(yùn)算實(shí)例程序免費(fèi)下載
python教程之變量和簡(jiǎn)單數(shù)據(jù)類(lèi)型
![python教程<b class='flag-5'>之變量</b>和簡(jiǎn)單數(shù)據(jù)類(lèi)型](https://file.elecfans.com/web1/M00/BB/09/o4YBAF6lTKGAAbnJAAPeBgz7yHg560.png)
C語(yǔ)言中局部變量和全局變量
C語(yǔ)言變量應(yīng)用詳解
![<b class='flag-5'>C</b>語(yǔ)言<b class='flag-5'>變量</b>應(yīng)用詳解](https://file1.elecfans.com/web2/M00/C4/BC/wKgZomX3sv2AGVWeAABMt9agjcE672.png)
評(píng)論