1 #include
2 3
4 int main()
5 ;7 int *p;//野指標 盡量避免,用空指標代替
8 9 int* q = null;//空指標
10 printf("p = %p\n",p);
11 printf("q = %p,q = %d\n",q,q);
12 13 #define t int*
14 unionu;
18 u.x = q;
19 int i;
20 for(i = 0;i22 printf("\n");
23 // *p = 100;可能導致非法記憶體訪問
24 p = a;//陣列當作資料用時表示第乙個元素的位址
25 for(i = 0;i<5;i++)printf("%d ",a[i]); printf("\n");
26 for(i = 0;i<5;i++)printf("%d ",*(p+i));printf("\n");
27 for(i = 0;i<5;i++)printf("%d ",p[i]); printf("\n");
28 for(i = 0;i<5;i++)printf("%d ",*(a+i));printf("\n");
29 30 printf("%d\n",(p+2)[1]);//*((p+2)+1)==>*(p+3)==>p[3]
31 q = p+1;
32 printf("%n",q[1]);
32 33 for(i = 0;i<5;i++)printf("%d ",*p+i); printf("\n");
34 for(i = 0;i<5;i++)printf("%d ",*p++); printf("\n");
35 for(i = -5;i<0;i++)printf("%d ",p[i]); printf("\n");
36 for(i = 0;i<5;i++)printf("%d ",*p--); printf("\n");//第乙個是亂碼 然後是 55 44 33 22 用--p才能輸出55 44 33 22 11
37 return 0;
38 }
陣列,指標,指標陣列,陣列指標
指標是在32位系統下佔四個位元組,64位系統下佔八個位元組的一種型別,指標指向的內容可以是常量,變數,函式,結構體,指標本身,陣列,等等.一級指標 一級指標常常在函式傳參時使用,可傳的引數有一維陣列,常量指標,函式指標等等都可以 但我們要注意不要在函式中,通過改變形參的指向來達到改變實參指向的效果,...
指標, 指標的指標, 陣列, 指標陣列, 陣列指標
指標 int a 10 int p a 指標的指標 int b 20 int p b int p2p p 簡單陣列 int c 10 整數陣列,含有10個整數元素 也就是說每乙個元素都是整數 指標陣列 int p 10 指標陣列,含有10個指標元素 也就是說每乙個元素都是指標 陣列指標 int p ...
指標,陣列指標,指標陣列
1.指標 指標可以看成乙個變數,指標所佔記憶體的大小和處理器的定址空間大小有關,32位處理器指標大小為4個位元組,64位處理指標大小為8個位元組。int p 定義乙個int型別的指標,p就可以看成乙個變數,p的值為0,表示p指向0位址 p也是占用記憶體的,編譯器在棧上為p分配記憶體,儲存p的值0,0...