函數(shù)一些小技巧:
- 如果函數(shù)的形參是基本類型(如:int float double char)那么在函數(shù)內(nèi)部中修改形參的值不會(huì)影響到外部實(shí)參的值
- 如果形參類型是指針(或數(shù)組)作為函數(shù)參數(shù)傳遞那么在函數(shù)內(nèi)部中修改形參的值會(huì)直瘦長影響到外部實(shí)參的值
- 因?yàn)橹羔樅蛿?shù)組是以地址的方式傳遞的
- 想要在形參中修改實(shí)參的值,只能用地址傳遞
- 指針在64位占8個(gè)字節(jié)
屏幕快照 2017-04-30 13.23.37.png
屏幕快照 2017-04-30 13.57.46.png
屏幕快照 2017-04-30 16.21.03.png
在64位系統(tǒng)指針占8個(gè)株搔,在32位系統(tǒng)占4個(gè)
指針與數(shù)組:
數(shù)組的首元素就是數(shù)組的地址剖淀,所以定義一個(gè)指針指向數(shù)組其實(shí)就是定義一個(gè)指針指向數(shù)組的首元素,所以數(shù)組的首元素是什么類型纤房,那么指向數(shù)組的指針就是什么類型
如果用指針類型去加1纵隔,不等會(huì)變量加1。
變量:
- int num = 5;
- num = num + 1;
指針: - 指針加1,其實(shí)是加上指針類型所占用的長度捌刮,如果當(dāng)前指針類型是int 碰煌,那個(gè)+1的本質(zhì)是加上4個(gè)字節(jié);
屏幕快照 2017-04-30 18.33.27.png
屏幕快照 2017-04-30 18.43.32.png
屏幕快照 2017-05-01 11.29.59.png
指向函數(shù)的指針
有返回值沒有參數(shù)練習(xí)
沒有返回值有參數(shù)練習(xí)
有返回值有參數(shù)練習(xí)
結(jié)構(gòu)體
如何定義一個(gè)結(jié)構(gòu)體
屏幕快照 2017-05-02 23.21.32.png
結(jié)構(gòu)體和函數(shù)
結(jié)構(gòu)體之間賦值是值傳遞,相當(dāng)于拷貝
可以用指針修改他們的值
枚舉
局部變量
全局變量
全局變量兩種:外部全局變量和內(nèi)部會(huì)局變量
全局變量的注意點(diǎn)
static方法.png
屏幕快照 2017-05-04 19.27.22.png
不帶參數(shù)的宏定義.png
帶參數(shù)的宏.png
typedef的作用:起別名.png
用typedef結(jié)構(gòu)體起別名.png
用typedef給枚舉起別名.png
用sypedef給指針起別名.png
用sypedef給指向函數(shù)的指針起別名.png
條件編譯:和if很像
const修飾詞:用在指針的方法
屏幕快照 2017-05-07 16.57.38.png