1. 指標:(資料型別)
儲存位址的資料型別;
2. 指標變數:(儲存位址的變數)
4. 指標的定義:
型別名 變數名;
型別名 * 變數名;(*表示指標變數);
(指標的計算*****型別名)
定義:先*,後變數名,後型別名。
int -3 *-1 p -2 ;
5. 指標所佔位元組(資料型別)
在32位系統中,佔4個位元組;
6. 指標變數型別:(去掉變數名)
int * * ppf ;
7. 指標定義結束後必須初始化,避免野指標;
8. 記憶體空間的訪問:
直接訪問:通過變數名的方式訪問;
11. 段錯誤:
操作非法的記憶體空間;(操作野指標);
使用系統未經分配給自己的記憶體空間;
12. 空指標null 巨集定義為0
13. 指標初始化:=null;
14. *指標變數==等於變數名,而不是記憶體空間存放的常量;
int i=5, *p=&i;
*p=8; //正確,更改i的值。
答案:b.c
b: *p2不建議使用;檢視非法記憶體空間;
d: *p2=*p1; 操作(寫)非法記憶體空間;
15. 指標(位址)的運算(陣列名的運算)
實體地址=絕對位址+位址偏移
p+i ***** p+i*sizeof(資料型別)
16. 陣列元素的指標訪問:
若p=arr; //p=&arr[0]
則:*(p+i)==*(arr+i)==arr[i]==p[i]
無條件:arr[i]******(arr+i)
17. 陣列程式設計技巧:(連寫)
int i , *p=&i ;
18. 函式:
返回值型別 函式名 (形參列表)
函式的入口: 形參;呼叫時分配記憶體空間)
引數傳遞為副本模式,位址傳遞時若要需要加const
函式的出口:返回值;副本模式
19. gdb除錯
1. 編譯帶除錯引數的可執行檔案。
2. 設定斷點b 執行r
3. next 語句(n) ; step 單步 (s)
4,。退出q;
20. 函式的宣告
形參變數名可省略;但是定義時不可預設。
21. 二維陣列名:(陣列名是乙個指標)
22. 技巧:
元素下標【】:隱含有*
keli4 指標運算 C語言指標 指標運算超詳細
很多童鞋在接觸c語言使用指標的時候,總是本著乙個原則 能不用就不用!所以對於指標的認識也難免有所侷限,所以禁停啊我們就來普及乙個 冷知識 指標運算。其實這樣的東西對於一些程式設計 湖早已經不是什麼秘密,只是說對於很多小萌新而言,覺得這樣的操作不可思議,高大上。其實跟其他的很多知識一樣,都是 難者不會...
c指標點滴三(指標運算)
1 include 2 include 3 4void main3 512 13 void main4 14 24 system pause 25 26 27void main5 28 30int p5 a 2 31 printf d a 2 32 p5 p5 2 相當於在陣列內部向後移動兩個元素的...
《c和指標》摘錄4 指標
記憶體和位址 計算機的記憶體由數以億計的位 bit 組成,每個位可以容納0或1。由於乙個位能表示的值範圍太有限,所以單獨的用處不大,通常許多位合成一組作為乙個單位,這樣就可以儲存範圍比較大的值。指標變數 專門存放變數的位址的變數 定義指標變數 資料型別 變數名 int a 指標變數必須初始化再使用 ...