多級指標性質問題

2021-10-01 13:33:03 字數 455 閱讀 4685

對於二級指標和一級指標,它們都可以存入其它指標的位址,因為,「位址「本身」是沒有型別的」。在定義int p時,「int」決定的是系統對於p的型別的判斷,

所以對於

int **p,a;

p=&a;

編譯器並不會報錯,但如果

a=12345;

printf("%d",*p);

輸出結果為12,因為乙個int 型的指標的大小應該是8bits,所以p所指向的空間也應該只有8bits

於是,系統唯讀了a那塊記憶體空間裡前8bits的資料,輸出為兩位整形資料

即:12345僅保留了「12」兩位資料

ps:有的編譯器中無此限制條件,如 在vs2019中,p仍等於12345,編譯器可以完整的讀出p的資料

而對乙個定義時為

int p

的一級指標 p,使用**p,編譯器會報錯,因為p應該為乙個int型資料,不能作為指標使用

C 多級指標

可以認為,指標是c 這把寶劍最鋒利的部分,當然,如果你使用不當,也會傷到自己的 何為11級指標,其實,就是在指標前面加了11個 加乙個 就是1級指標,加兩個 就是二級指標 char qqptr null 指標和陣列有著扯不清的關係,這個11級指標,你可以理解為11維度的陣列,平日裡見得最多的恐怕也就...

多級指標玩法

多級指標玩法 define crt secure no warnings include include intmain const char cp const char cpp cp printf s n cpp point printf s n cpp 3 er printf s n cpp 2...

C 之 多級指標

多級指標 分析原則,從變數名處起,根據運算子優先順序結合,一步一步分析。int p 3 首先從p處開始,先與結合,因為其優先順序比 高,所以p是乙個陣列,然後再與 結合,說明陣列裡的元素是指標型別,然後再與int結合,說明指標所指向的內容的型別是整型的,所以p是乙個由返回整型資料的指標所組成的陣列。...