陣列的首位址

2021-08-07 13:26:10 字數 458 閱讀 1666

char arrgs = "hello";

printf("arrgs: %x\n&arrgs:%x\n",arrgs,&arrgs);

arrgs: bfad0046

&arrgs:bfad0046

printf("arrgs: %x\n&arrgs:%x\n",arrgs+1,&arrgs+1);

arrgs: bf9e0997

&arrgs:bf9e099c

在以下兩種場合下,陣列名並不是用指標常量來表示,就是當陣列名作為sizeof操作符和單目操作符&的運算元時

:sizeof返回整個陣列的長度

,而不是指向陣列的指標的長度。 取乙個陣列名的位址所產生的是乙個指向陣列的指標,而不是乙個指向某個指標常量的指標。

&arrgs後返回的指標便是指向陣列的指標

,跟arrgs(乙個指向arrgs[0]的指標)在指標的型別上是有區別的。

陣列首位址

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

關於陣列首元素位址與陣列首位址的區分

如果定義乙個陣列a 則陣列名a和 a 0 表示陣列首元素的位址,而 a則表示陣列的首位址,通過下面這個經典的程式則可以理解它們的區別 include int main int p a 1 int pp int a 1 printf d n p printf d n pp 1 return 0 在vs...

陣列指標和陣列首位址

下面 會輸出什麼 1 2 3 4 5 6 intmain intargc,char argv int ptr int a 1 printf d ptr 1 答案 4 解析 這邊主要考察的是陣列指標和陣列首位址的問題。a是陣列指標,a是陣列首位址。而指標的 1,增加的是1個指標型別的長度。比如 a是陣...