C 中關於int p和 int p的區別?

2021-08-02 22:46:43 字數 449 閱讀 6333

根據c++primer介紹:

對於int* p(這種寫法合法,但是容易造成誤導),其基本資料型別是int,後面的*其實是宣告符。在一組公用的資料型別後面可以使用不同的宣告符。

例如: int i =1024, *p = &i, &r = i;    //i是乙個int型別的資料,p是乙個int型的指標,r是乙個int型引用。

對於int *p,其和int* p 的含義一樣,都表示int型別的指標變數p。

但是將宣告符緊跟著變數名是一種更容易理解的做法。否則可能會出現誤導現象:

例如 int* p1, p2;表示含義是p1是乙個int型的指標,p2是乙個int型變數。而不是p1,p2都是指標變數,它們共用的是基本資料型別部分。

如果寫成int *p1,p2;則和上式表示的含義完全一樣,但是更加清晰,不會造成誤導。

不過對於以上兩種寫法的使用,主要看個人的習慣,但是最好不要混用。

C 中int p和int p的區別

c 中int p和int p的區別 int p 是正確的,與p靠得最近,所以p是乙個引用,這個引用的型別是int 也就是乙個指標變數的引用,但是必須初始化,否則也是錯誤的。int p 是不正確的,與p靠得最近,所以p是乙個指標,但是這個指標的型別是int 所以這個是錯吳的,因為不能建立引用的指標。i...

在C中int p 和int p 作為形參

假定int p 0xfff0,p 0xffff 中的位址可能不一樣 void fun1 int p 對應的呼叫函式為fun p 傳遞的為p的值,及0xfff0 形參型別為指標型別int 在其中p為形式引數,可理解為傳遞的為p的值0xfff0 void fun2 intp 對應的呼叫函式為fun p ...

int p 4 和int p 4 的區別

int p 4 因為 比 的優先順序高,所以p先於 結合,是乙個陣列,然後再與 結合,所以這個陣列跑p 4 的型別是int 就是指向int的指標,就是 元素是指向整形資料的指標的陣列 每個元素都是乙個指標,一共有4個元素。指標就是位址本身,而指標變數是用來存放位址的變數。而int p 4 p先和 結...