intp和intp的區別,我想知道intp與intp有什麼不同

2021-03-19 18:19:03 字數 5918 閱讀 9226

1樓:匿名使用者

int *p; //定義

char *n;

......

p=(int *)n; 把n的字元地址,強制轉成 整形地址

2樓:匿名使用者

int*p 是定義指標變數的。 (int*)p是強制型別轉換

3樓:匿名使用者

我覺得沒區別~

我一直把int *當做一個整體

我想知道int *p與int* p有什麼不同

4樓:大野瘦子

一、意思不同

int *p和int* p後者比前者更好理解為指標。int *p;可能會被理解為一個變數,名為*p,int* p;很直觀的被理解為一個指標,名為p。

二、強調型別不同

*p是一個int』這裡*和p綁在了一起——這就是c的風格,這種風格強調的是語法。而一個典型的c++程式設計師會寫「int*p」,並告訴你「p是一個指向int的指標,p的型別是int*」。這種風格強調的是型別。

三、用法不同

int* p, p1; // probable error: p1 is not an int*

這裡,把*放得離p近一點也同樣不能澄清問題:

int *p, p1; // probable error

為了保險起見,只好一次宣告一個變數了——特別是當宣告伴隨著初始化之時。

int* p, p1; // probable error: p1 is not an int*

而int* p = &i;

int p1 = p; // error: int initialized by int*

它會報錯。

5樓:匿名使用者

c++作者對這個有過解釋,連結為

對應內容翻譯如下(來自

q: 「int* p;」和「int *p;」,到底哪個正確?

6樓:青鳥中關村專家

從語法上講,沒有區別。

從命名規範上講,int *p和int* p後者比前者更好理解為指標。

int *p;可能會被理解為一個變數,名為*pint* p;很直觀的被理解為一個指標,名為p建議平時採用後者書寫。

7樓:藍之墮落哀傷

這個真沒不同,是一樣的,編譯出來都是指標型別的變數,不過良好的書寫習慣是前面那種方式,不容易誤解看錯。

8樓:匿名使用者

頂多就是寫法的區別,其實沒有區別,都是定義int型的指標p,編譯器編譯出來都一樣的,所以這兩個沒有區別。

9樓:匿名使用者

int *p p是指標,指向int變數。

int* p p是變數,它儲存一個指向int的指標的值

10樓:淡騰搖銘

一樣的,但是最好標記符緊挨定義變數

11樓:我了個去_去啊

一樣的啊 習慣而已

「int **p」和「int *p」有什麼區別?

12樓:怕不他啊不了

int *p表示的是一級指標,表示p所指向的地址裡面存放的是一個int型別的值。

int **p表示的是二級指標,表示p所指向的地址裡面存放的是一個指向int型別的指標。

一級指標存放變數的地址,指向的值是變數的內容。如int* p=, p=陣列的首地址,*p=陣列的第一個值;

二級指標存放一級指標的地址,指向一級指標。如int*p =, int**pp=&p,pp=指標p的首地址,*pp=陣列的首地址,**pp=陣列第一個值1。

指標陣列的陣列名傳遞引數對應為指標的指標即二級指標,二維陣列的陣列名傳遞引數對應為陣列指標即指向一維陣列的指標

一級指標通過形參,可以修改實參中指標所指向的地址中的值。修改不了實參中指標所指向的地址。需要藉助二級指標才可以。

13樓:尉詩桃牟畫

int*p

:一級指標,表示p所指向的地址裡面存放的是一個int型別的值int**p

:二級指標,表示p所指向的地址裡面存放的是一個指向int型別的指標(即p指向的地址裡面存放的是一個指向int的一級指標)

例如:int

i=10;

//定義了一個整型變數

int*p=&i;

//定義了一個指標指向這個變數

int**p1=&p;

//定義了一個二級指標指向p指標

那麼取出10的值方式為:

printf("i=[%d]\n",*p);

printf("i=[%d]\n",**p1);

c++中int*&p和int&*p的區別

14樓:仁昌居士

c++中int *&p和int &*p的區別為:性質不同、 使用不同、訪問不同。

一、性質不同

1、int *&p:int *&p是指標的int型別引用。

2、int &*p:int &*p是引用的int型別指標。

二、 使用不同

1、int *&p:int *&p是指標 的 別名 ,可以當成指標使用。

2、int &*p:int &*p指標不能指向引用,不具有確定的儲存,無法直接使用。

三、訪問不同

1、int *&p:int *&p可以直接訪問得到指標指向的數值。

2、int &*p:int &*p無法訪問得到表示引用的儲存的數值。

15樓:匿名使用者

int &*p; 是不正確的,*與p靠得最近,所以p是一個指標,但是這個指標的型別是int &,所以這個是錯吳的, 因為不能建立引用的指標。

int *& p, 是正確的, &與p靠得最近,所以p是一個引用,這個引用的型別是int*,也就是一個指標變數的引用,但是必須初始化,否則也是錯誤的。.

16樓:匿名使用者

如果按照正常的解讀(從右到左),

int*&p 是 指標的引用。 他是一個 指標 的 別名,一般可以當成 指標 使用。有時候,可以直接他的值,成為其他指標的引用

int&*p 是 引用的指標,這個是非法的,指標不能指向引用。引用不具有確定的儲存,無法間接訪問得到表示引用的儲存的左值,所以乾脆人為規定禁止構造指向引用的指標型別。

17樓:匿名使用者

前者是地址的指標

後者是指標的地址

int **p和int *p有什麼區別

18樓:怕不他啊不了

int *p表示的

是一級指標,表示p所指向的地址裡面存放的是一個int型別的值。

int **p表示的是二級指標,表示p所指向的地址裡面存放的是一個指向int型別的指標。

一級指標存放變數的地址,指向的值是變數的內容。如int* p=, p=陣列的首地址,*p=陣列的第一個值;

二級指標存放一級指標的地址,指向一級指標。如int*p =, int**pp=&p,pp=指標p的首地址,*pp=陣列的首地址,**pp=陣列第一個值1。

指標陣列的陣列名傳遞引數對應為指標的指標即二級指標,二維陣列的陣列名傳遞引數對應為陣列指標即指向一維陣列的指標

一級指標通過形參,可以修改實參中指標所指向的地址中的值。修改不了實參中指標所指向的地址。需要藉助二級指標才可以。

19樓:匿名使用者

int *p :一級指標,表示p所指向的地址裡面存放的是一個int型別的值

int **p :二級指標,表示p所指向的地址裡面存放的是一個指向int型別的指標(即p指向的地址裡面存放的是一個指向int的一級指標)

例如:int i=10; //定義了一個整型變數int *p=&i; //定義了一個指標指向這個變數int **p1=&p; //定義了一個二級指標指向p指標那麼取出10的值方式為:

printf("i=[%d]\n",*p);

printf("i=[%d]\n",**p1);

20樓:匿名使用者

int (*p)(); //函式指標,這個指標可以指向不同的函式,但是必要條件是引數與返回值都為void型

若定義了一個這樣的函式: int fun();

則這樣賦值: int (*p)() = fun;

再這樣呼叫: p();

int *p(int x,int y) //指標函式,是個函式引數為兩個int變數,它的返回值是一個int的指標

若定義了一個這樣的函式: int *p(int x,int y);

則這樣賦值: int *ptr = p(4, 5);

21樓:匿名使用者

int (*p)()是一個int型別的無引數的函式指標,它指向的是一個函式,它是用來存放無形參函式**首地址的變數,也就是說在賦值的時候給p一定要賦一個函式;而int *p(int x,int y)是一個返回值為int型的簡單的帶有兩個形參的指標函式,和普通函式不同的是它是一個指標函式。簡單說前者是一個變數,而後者是一個函式!

22樓:hello你個

int *p是一級指標,表示p指向的記憶體中存放的是一個真型變數,int **p是二級指標,表示p指向的記憶體種存放的是一個整形的指標變數

23樓:匿名使用者

本質上沒有區別,但字面理解容易模糊。比如

int *p,i;// 很明顯,p是指標,i是變數int* p,i; // *緊挨著int,那麼*屬於p還是屬於p和i呢?(當然不是),還是屬於p,但看上去不是那麼清晰。

所以推薦的是int *p,i;,而不是int* p,i;。

24樓:匿名使用者

胡說,誰說的int *p(int x,int y)是一個返回值為int型的簡單的帶有兩個形參的指標函式?這分明是以個返回型別為整型指標(int*)的一個帶有兩個整型引數的普通函式。您這麼理解int* p(int x,int y)就好理解了。

25樓:匿名使用者

int (*p)() 是定義一個儲存某類函式(int fun())入口地址的指標.

int *p(int x,int y) 是宣告一個返回整型指標的函式(p).

26樓:匿名使用者

int (*p)(int)是函式指標,如:

int func(int x); /* 宣告一個函式 */int (*f) (int x); /* 宣告一個函式指標 */f=func; /* 將func函式的首地址賦給指標f */int* p(int x);是一個返回值為int型指標的函式的宣告

27樓:匿名使用者

int **p指向的是一個指向int型的指標陣列

int *p指向的是一個int型資料望採納

const int *p和int * const p的區別

28樓:育知同創教育

const int *p和int * const p的區別如下:

const int *p表明指向的物件是const型,不可以修改,但是指標p的指向可以修改。

* const p表明指標變數p是const型,它的指向不可修改,但是指向的物件可以修改。

一般來說用*限定的是指標區域存放的內容,不用*的是記憶體地址。

29樓:刀無極啊

你可以看看這篇文章,講的很仔細

spss和excel的區別知乎,access和excel的區別知乎

比如在a1單元格做北京 上 海 天津和武漢下拉 選擇a1 資料 資料有效性 允許 序列 填入 北京,上海,天津,武漢,注意,地名要用半形逗點隔開,千萬不能使用中文逗號!確定後,a1出現下拉箭頭,點開便可實現選擇性輸入,就此下拉選單做成。對同一計算的實現不同,導致結果精確度及可信度不同。spss分析資...

電腦顯示器ips和tn的區別知乎

tn的優點 便宜價效比高,選擇餘地大,響應速度快,更省電tn的缺點 內視角較小 但顯示器容的tn屏都有富士的廣視角膜,其實視角都是大於175 的 色域比ips低 通常色域為75 普通黃色熒光粉白光led的可能只有68 ips的優點 視角更大,色彩飽和度色域更好,好點的色域可以大於90 ips的缺點 ...

求教 近義詞,驚愕不已,我想知到驚愕不已的意思

黯然失色 怛然抄失色 大驚失色 驚愕失色驚恐失色 相形失色 驚慌失色 相顧失色頓足失色 驚惶失色 失色 驚愕失色 拼音 j ng sh s 簡拼 jess 近義詞 反義詞 用法 解釋 失色 由於受驚或害怕而面色蒼白。驚恐得改變了神色。形容十分吃驚。出處 例子 這話登時傳到宋良箴耳內,嚇得 淚落不止。...