變量聲明:
extern int a;//只聲明一下這個變量,會在別處定義的
1
變量定義:
int a;//說明該變量在內存中的位置和大小,聲明加定義
1
變量初始化:
int a = 7;//定義時給變量一個值
1
變量賦值:
a=2;//把變量原有的值擦除,重新給一個值
1
C 中的左值(Lvalues)和右值(Rvalues)
C 中有兩種類型的表達式:
左值(lvalue):指向內存位置的表達式被稱爲左值(lvalue)表達式。左值可以出現在賦值號的左邊或右邊。
右值(rvalue):術語右值(rvalue)指的是存儲在內存中某些地址的數值。右值是不能對其進行賦值的表達式,也就是說,右值可以出現在賦值號的右邊,但不能出現在賦值號的左邊。
變量是左值,因此可以出現在賦值號的左邊。數值型的字面值是右值,因此不能被賦值,不能出現在賦值號的左邊。下面是一個有效的語句:
int g = 20;
1
但是下面這個就不是一個有效的語句,會生成編譯時錯誤:
10 = 20;
1
初始化局部變量和全局變量
當局部變量被定義時,系統不會對其初始化,您必須自行對其初始化。定義全局變量時,系統會自動對其初始化,如下所示:
數據類型
初始化默認值
int 0
char ''
float 0
double 0
pointer NULL
1
2
3
4
5
正確地初始化變量是一個良好的編程習慣,否則有時候程序可能會產生意想不到的結果,因爲未初始化的變量會導致一些在內存位置中已經可用的垃圾值。
---------------------
作者:午後陽光溫暖一冬
來源:CSDN
原文:https://blog.csdn.net/qq_34866146/article/details/81027577
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!