1. 程式人生 > ># c語言的學習

# c語言的學習

C語言中的變數和常量

變數:毫無疑問就是可以變化的量
變數可分為區域性變數和全域性變數
何為區域性變數呢?何為全域性變數呢??
區域性變數:就是在某一個特定的範圍內有效
全域性變數:就是在整個程式內都有效
例如:int age = 20;//全域性變數
int main()
{
int age = 30;區域性變數
{
int age = 10;區域性變數
}
如果出現區域性變數和全域性變數同名的時候,區域性變數優先使用
例如:上述程式碼輸出的值為30,就不是20.
變數同時擁有作用域和生命週期
作用域就是變數可活動的範圍
例如區域性變數的作用域就是在它的那個特定範圍內
而全域性變數的作用域就是整個工程從開始到結束
而生命週期就是在作用域記憶體活的時間
常量:毋庸置疑,就是不可變的量,例如:人的身份證號碼,血型等等
而常量又分為字面常量,const修飾的常變數,#define定義的識別符號常量和列舉常量
字面常量:就是我們可以一眼看出來的,例如:3,3.14,1999等等
const修飾的常變數:從字面意思應該可以看出來,首先呢,const 修飾的是一個變數,然後經過const的修飾之後具備了常屬性,就叫做const修飾的常變數
例如:const int num = 20; num = 40; printf("%d\n", num); return 0;


這個程式碼中的num 本身就是一個變數,但是經過const修飾之後就具備了常屬性,所以上述程式碼結果便是20而不是40.
#define定義的識別符號常量
#define MAX 1000
int main()
{
MAX = 2000;
printf("%d\n", MAX);
system(“pause”);
return 0;
}
例如這個程式碼就執行不過去,因為MAX經過#define定義為了1000而MAX要輸出2000這樣便會出現錯誤
列舉變數:就是用enum定義的基本型別
比如定義一個星期的列舉常量:enum Week{Mon,Tue,Wed,…};
這就定義了一個新的資料型別:week。
從Mon開始定義為1,以此類推,直接到7,
1,2,3,4,5,6,7這些數就是列舉值也稱為列舉常量,因為它一經定義以後,就不可改變