C語言 陣列首位址問題小記

2021-06-29 10:44:26 字數 677 閱讀 4379

#include#includeint main()

; //以十六進製制列印陣列的首位址 這裡a與&a,&a[0]一樣的結果

printf("%x\n",a);

printf("%x\n",&a);

printf("%x\n",&a[0]);

//以十進位制列印陣列的首位址

printf("%d\n",a);

//輸出第乙個陣列元素的值

printf("%d\n",a[0]);

//陣列在記憶體是連續排列

printf("%d\n",sizeof(a));//5*4=20位元組 ,//是20個不是21,\0只有對字串才生效

//求陣列多少個元素,這個是最標準的求法

printf("%d\n",sizeof(a)/sizeof(int));//5個元素

//陣列的本質:一片連續的記憶體空間

for(int i=0;i<5;i++)

//對乙個大小為n,型別為int的陣列,其佔據的記憶體大小為:

//n*sizeof(int)-->n*4

//p+(m-1)*sizeof(int)//從0開始所以要減1

//乙個程序不能讀寫另外乙個程序

return 0;

} int main1()

}

C語言 取陣列首位址

我們先看下面這段 include intmain int p int arr 1 arr操作的是整個陣列,返回的指標指向整個陣列,arr 1偏移的是整個陣列的長度。printf p p n arr,arr printf p p n arr 1,arr 1 printf d d n p 1 p 1 p...

陣列首位址

指標可以,開始我們說了指標可以認為是游離的,所以他本身的值可以變化,而自加就是讓指標的首位址變化,但是陣列是固定的,要變化乙個陣列的首位址就要用到雙指標。unsigned char p1 f 30 unsigned char p1 b 300 void change page unsigned ch...

C語言二維陣列的指標及首位址問題

若arr是一維陣列名,我們知道 arr就是arr 0 就是 arr 0 因為arr是陣列的首位址,arr就是取首位址所指元素,就是陣列的第乙個元素。同樣的道理,arr是二維陣列名時,arr也是取arr的第乙個元素,但是此時arr所指的元素是乙個一維陣列,所以,實際上arr所指元素是一維陣列的首位址。...