intpa和intpa有什麼區別

2021-03-05 09:13:39 字數 3566 閱讀 6720

1樓:匿名使用者

int *p=&a 其實是兩個語句 等價於 int *p; p=&a;

如果a是int型,int *p=a是錯誤的,正確的應該是 int *p; p=&a;

在定義的時候不能給p直接賦值整型,只能賦值int型位址 即 &a;

如果要給p指標指向的位址賦值,就可以*p=a;但不能在定義*p的時候直接賦整型。

2樓:

int a[10];

int *p=a; //與前面定義的陣列名a型別相同,才可以這樣賦值。

int a;

int *p=&a; //前面定義的a是普通變數,才可以這樣賦值。

3樓:捧一公尺陽光

從基本定義來啊,int *p之後p為乙個位址,*代表指向這個位址,int *p=&a等價於int *p,p=&a.這樣p和&a都是位址,可以=。對於int *p=a,如果a為陣列名,則也是個位址,與前面的就同了,如果a只是個一般變數,p是位址,*指向它,*p合起來就是乙個數,如a是int型,就可看成兩個數賦值,如果a不是int型,出錯

4樓:匿名使用者

我的理解

int a,*pa=&a;是正確的,相當於int a,*pa;pa=&a;即(int*)pa=&a。

而int a,*pa;* pa=&a;是錯誤的,因為*pa是值,&a是位址。

5樓:孤楠獨碧

int *p就是申請乙個int型的指標p,指標是用來儲存位址的,所以&a就是取得a的位址賦給p。但是int*p=a的話,a必須是個位址,可以是指標,也可以使陣列名。

6樓:不瀟撒的漁

int* p 是定義個指標變數,&是取址符;

所以int* p=a,是定義個整型指標變數,並將a賦值給該變數;

int* p=&a,是將a的位址賦給該整型指標變數;

7樓:

我猜你的 a是int型的 假設定義了 int a = 12; 那麼 int *p = a;編譯是通不過的, 因為這裡p初始化是把 int 型直接賦值給了 int*這是編譯器不允許的, 而後者 int *p = &a, 是把變數a的位址賦值給指標p 意思是把a的位址儲存在指標的記憶體空間中, 我們查詢 *p 是根據指標p儲存的位址去找到a的。

8樓:我的查出

int *p=a相當只要你給與a乙個具體的值該指標將指到那兒

int *p=&a是&a中的a是你輸入的值所在的位置而p指的是位址a的位址

9樓:匿名使用者

int *p=a p指標的值(p代表的位址)是a

int *p=&a 表示p指標指向的是a的位址,p的值是a的位址

10樓:匿名使用者

前者是將a的內容賦給指標p(也就是p指向a指向的資料)

後者是將a的位址賦給指標p(也就是p指向a)

11樓:匿名使用者

int *p=a 表示p指標的位址是a

int *p=&a 表示p指標指向的是a的位址,p的值的a的位址

12樓:匿名使用者

nt *p是定義乙個指標 對應的該是位址

int*p=&a 則a是個指標或陣列

int*p=&a 則a是個資料

13樓:胡曉帥

前者a的型別應該為int*,為負值操作,p的值等於a的值

後者a的型別應該為int,為取位址操作,p的值等於a的位址

14樓:天蠍

1)int *p=a;

舉例:int *p=100;

p是乙個指標變數,將乙個常量賦給乙個指標變數,p等於位址0x00000064,即p是指向某個數的指標變數,該數的位址是0x00000064,一般實際中沒這麼用;跑下程式:

2)int *p=&a;

舉例:int a=100; int *p=&a;

a是乙個變數,p就是指向a的指標變數,即p等於a的位址;跑下程式:

c語言中int*p=a與int*p=&a有什麼區別???求大俠幫忙!!!

15樓:匿名使用者

區別很大。第乙個int *p = a;這是把a給乙個指標,一般a是指標或陣列,否則可能會造成很大錯誤。

int *p = &a;這是把a的位址給p,一般a可以是乙個整型變數。

16樓:匿名使用者

因為p為指標變數,它初始化的值只能為位址,例如:

int b[10],a;

int *p1=b,*p2=&a; //這兩種賦值都可以,注意,a,b都是位址,b是陣列名,為陣列的首位址,

若如下定義就是錯誤的:

int *p3=a;//a是簡單變數,不是位址,而是值,型別不匹配,所以錯了

17樓:步行者

int*p=a,首先a是乙個指標,然後定義乙個int型指標p,指向a

int*p=&a ,首先a是乙個數值(比如之前定義它 int a=100),那麼在定乙個指標p,指向a=100中a的記憶體位址

注意兩個式子放在一塊寫是錯誤的。不可能定義a為指標,又為數值

18樓:匿名使用者

int *p是定義乙個指標 對應的該是位址

int*p=&a 則a是個指標或陣列

int*p=&a 則a是個資料

19樓:匿名使用者

區別很大,第乙個是把a賦給指標變數p,a變數必須存放的是指標值;第二條語句是把a變更本身的記憶體位址拿出來,賦值給指標變數p。

20樓:

a的型別不一樣,第乙個要指標型別的int變數,第二個是普通變數

21樓:匿名使用者

第乙個a必須也是指標才能對吧,第二個指向了a的位址。

22樓:浦小雨漆娜

*p=&a;是將a的位址賦值給*p,結果會是乙個十六進位制的數。

第二個是讓p指向a的位址空間。*p的傎和a相等。

inta=2,*p;

*p=&a;

列印*p應該是乙個位址值,很長一串,

p=&a;

打*p印結果會是2;

在c語言中,int *p,a; *p=&a,和p=&a有什麼區別?

23樓:天雨下凡

這樣問說明你對指標的概念還不清楚,以下兩種方式等價:

一、先宣告指標,再給指標賦值

int *p,a;

p=&a;

二、定義指標的同時給它賦值

int a,*p=&a; //這裡的*p可以解釋成int * p,int *表示p是指向int型變數的指標

24樓:匿名使用者

#include

int main()

{int *p,a=0xaa; //宣告 int指標

chipchip和chipseq有什麼區別

染色質免疫共沉澱copy技術 chromatin immunoprecipitation,chip 也稱結合位點分析法,是研究體內蛋白質與dna相互作用的有力工具,通常用於轉錄因子結合位點或組蛋白特異性修飾位點的研究。將chip與第二代測序技術相結合的chip seq技術,能夠高效.染色質bai免疫...

sapere和conoscere有什麼區別?拜託了各位謝謝

溫馨解答 sapere 和conoscere都有 知道 的 意思,只是性質有些不一樣。1.舉個例子 知不知道火車幾點的?tu sai a che ora parte il treno?sapere 句子即從句,就是表示知不知道。什麼內容。2.sapere還有乙個意思,是 會,懂得 sai guida...

info和information有什麼區別?意思完全一樣麼

兩者還是有區別的,info只做資訊來理解,但是information可以指很多意思,不單單是資訊的意思,還可以解釋為 情報,訊息,知識,見聞,生息,學問等等。希望我的答案能對你有所幫助。message 和information有何區別,應該如何區分?謝謝 message n.訊息,通訊,訊息,音訊,...