指標陣列 陣列指標

2021-09-27 02:02:48 字數 888 閱讀 4902

首先,陣列名表示的是陣列首元素的位址。

int main()

; int *p = arr; //指標存放陣列首元素的位址

int sz = sizeof(arr) / sizeof(arr[0]);

int i = 0;

for (i = 0; i再者(p+i)代表的是下標為i的元素的位址,*(p+i)代表的是下標為i的元素的值

且在32位下,指標大小是4個位元組;在64位下,指標大小是8個位元組;這個位元組大小只會與作業系統有關,與指標型別是int、char……無關,位元組大小固定

int *p=null; //表示int*型別的指標變數p中儲存的值是0x00000000-->位址為0x00000000

*p=null; //表示p所指向的值為0-->值為0

char* p = "abcdef";

printf("%c\n", p[4]); //編譯器總是把以下標的形式的操作解析成以指標的形式的操作-->相當於解引用

指標陣列是指標還是陣列?

答案:是陣列。是存放指標的陣列。所有元素都是指標,陣列佔多少位元組數由陣列本身決定。

arr是陣列首元素的首位址,也就是arr[0]的首位址;&arr是陣列的首位址

&arr+1表示當前下一陣列的首位址(已經超出當前陣列的界限)

int *p1[10]; -->這是乙個指標陣列,「」的優先順序比「 * 」高,p1先與結合,構成陣列的定義,陣列名是p1,int *修飾的是陣列的內容,即陣列的每個元素

首先是乙個指標,它指向乙個陣列,在32位系統下永遠是4位元組,是指向陣列的指標

int (*p2)[10]–>這是乙個陣列指標,「()」的優先順序比「」高,所以p2先和「 * 」結合,形成乙個指標的定義,指標變數是p2,int修飾的是陣列的元素

陣列,指標,指標陣列,陣列指標

指標是在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...