寫在前面:因爲學習需要,我開始寫一些書的讀後感,權且當作讀書筆記了。
一、從數據類型的角度解釋“靜中有動,動中有靜”
其值在其作用域內可以改變的量稱爲變量,是爲動。相反其值不會發生改變的量稱爲常量,是爲靜。他們之間相互依賴相互影響,所以是“靜中有動,動中有靜。
二、變量、變量名。變量值的定義是什麼?
1、其值在其作用域內可以改變的量稱爲變量
2、在變量聲明時用的名字成爲變量名,該名字和內存中一塊地址綁定,可以通過變量名直接找到該內存區域
3、變量所對應的內存區域內存放的二進制序列是變量值
三、局部變量、全局變量的定義及命名方式
在函數內做定義說明的變量是局部變量,在函數外做定義說明的變量是全局變量,在同一個源文件中,局部變量與全局變量同名,則在局部變量的作用域內外部變量被屏蔽
int a,b; /*全局變量a,b*/
void f1()
{
int x,y; /*局部變量x,y*/
}
四、常量的定義
其值不會發生改變的量稱爲常量
五、簡述6個數據的基本內置類型
1、整型int,又分爲長整型和短整型以及無符號整型
2、實型,又稱爲浮點型,有雙精度、長雙精度和單精度之分
3、指針型,取程序對象在內存中佔據的地址爲值的一種特殊的數據類型
4、構造類型,若干個相關數據組合在一起的複雜數據類型
5、枚舉型,當變量支取少數可能的值,並分別用標識符來表示的變量類型
6、void型,可表示沒有數據也可表示某種任意類型數據、
六、陷阱:有符號和無符號是什麼意思?
計算機底層是無法識別負號的,所以約定最高位爲1是負數,最高位爲0是正數。
七、什麼是聲明?什麼是定義?
1、聲明:指的是告訴編譯器這個名字已經匹配到一塊內存上了
2、定義:是編譯器創建一個對象,爲這個對象取一個名字。
int i; //定義
extern int i; //聲明
八、static和extern
1、static:static修飾變量時其作用域沒有發生改變,而是將其存放至靜態數據區,其生命週期一直持續到整個程序執行結束
2、extern:使當前變量不是在本源文件中聲明的,是外部變量
九、簡述conest、auto、register
1、conest:被conest修飾的變量意味着只能訪問這個變量而不能修改這個變量的值
2、auto:如字面意思,自動,int a;相當於auto int a;
3、register:被register修飾的變量會作爲一個寄存器變量,使得該變量的訪問速度達到最快
課上求解:
十、如何用typedef給三個變量定義別名
十一、枚舉和宏定義有什麼區別
十二、聯合體與結構的區別