指標可以,開始我們說了指標可以認為是游離的,所以他本身的值可以變化,而自加就是讓指標的首位址變化,但是陣列是固定的,
要變化乙個陣列的首位址就要用到雙指標。
unsigned
char p1_f[30]
=;unsigned
char p1_b[
300]=;
void
change_page
(unsigned
char
**p1_f,
unsigned
char
**p1_b)
intmain
(void
)//傳陣列首位址
這樣會報錯main.c(75): warning c182: pointer to different objects
增加乙個純指標指向陣列的首位址unsigned char *p1f=p1_f;unsigned char *p1b=p1_b;
變成如下**就不會報錯
unsigned
char p1_f[30]
=;unsigned
char p1_b[
300]=;
unsigned
char
*p1f=p1_f;
unsigned
char
*p1b=p1_b;
void
change_page
(unsigned
char
**p1_f,
unsigned
char
**p1_b)
intmain
(void
)//傳普通指標位址
這就說明,陣列首位址做指標,該指標是乙個常量指標,不能更改位址值。
也就是二級指標,不能傳陣列首位址。
陣列的首位址
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 ...
關於陣列首元素位址與陣列首位址的區分
如果定義乙個陣列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是陣...