c++中int *&p和int &*p的區別:
int * &p 是正確的, &與p靠得最近,所以p是乙個引用,這個引用的型別是int*,也就是乙個指標變數的引用,但是必須初始化,否則也是錯誤的。
int & *p 是不正確的,*與p靠得最近,所以p是乙個指標,但是這個指標的型別是int &,所以這個是錯吳的, 因為不能建立引用的指標。
int * &p 是 指標的引用。它是乙個指標的別名,一般可以當成指標使用。
int & *p 是 引用的指標,這個是非法的,指標不能指向引用。因為引用不具有確定的儲存,無法間接訪問得到表示引用的儲存的左值,所以乾脆人為規定禁止構造指向引用的指標型別。
示例**:
#include
"stdafx.h"
#include
using
namespace std;
intmain()
,* p1 = a;
int*
&p2 = p1;
p2++
; cout <<
* p1 << endl;
// 輸出 2
return0;
}
C 中關於int p和 int p的區別?
根據c primer介紹 對於int p 這種寫法合法,但是容易造成誤導 其基本資料型別是int,後面的 其實是宣告符。在一組公用的資料型別後面可以使用不同的宣告符。例如 int i 1024,p i,r i i是乙個int型別的資料,p是乙個int型的指標,r是乙個int型引用。對於int p,其...
在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先和 結...