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.訊息,通訊,訊息,音訊,...