陣列指標示例

2021-07-09 21:45:45 字數 1288 閱讀 9641

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...