1樓:匿名使用者
p是指向int 型別資料的指標,&p是指標p的地址,也就是指向指標的指標,*&p是指標的指標指向的數值.
c語言中,設p是一個指標,*p=&x與p=&x有什麼區別
2樓:匿名使用者
前者是在定義指標時才成立,意思是定義指標p是變數x的地址。後者是程式語句中的取x地址賦值給p。
3樓:聽不清啊
*p=&x是在定義變數時;
p=&x是在定義變數後。
int x,*p=&x;
或:int x,*p; p=&x;
4樓:匿名使用者
兩個語句不可能同時出現,必然有一個是錯誤的。
*p=&x:指的是指標p的」值」是一個指向x的指標;
p=&x:指的是指標p指向x。
設變數定義為「int x, *p=&x;」,則&*p相當於_____。 a、p b、*p c、x d、*&x
5樓:匿名使用者
選擇 a
因為*p是指
du針。當x的地址賦值
zhi個指標p的時候,他dao們的地址就一樣回(數值也是一樣)。
指標的話,要表示數值的答話用用*p,指地址的話,只要p就可以。
如果加地址符號&,那就值該指標的地址(&*p),也就是值x的地址。
abcd中,只有a選項表p的地址(即是x的地址)。
b、c和d都是表值。
希望能幫助你!
有關運算子 p=&x,*p=&x有什麼區別
6樓:重定向的憂傷
我簡單解釋一下
如果p是一個
int型別的指標,x是int型別,p=&x就是p指向x所在的記憶體地址如果p是一個內int指標型別的指標,
容x是int型別,*p=&x就是讓指向的int型別的指標指向x所在的記憶體地址,前提是,你已經為p開闢了空間,不然p指向的記憶體不安全。
如果*p=&x這句話處於一個定義的位置 例如 int *p=&x,那麼就相當於定義了一個int型別的指標p,指向x所在的記憶體地址。 這個時候,*不是取值的意思,而是定義指標的符號。
建議題主好好去看一下c語言的課本,只要搞清楚指標是什麼,取值是什麼,取地址是什麼,這些問題就完全不是問題。
c語言裡面的指標好亂,比如p=&i,我知道是把i的地址給p,則*p指向i。但是又比如int x,*p
7樓:匿名使用者
指標不亂啊,可能copy你被概念迷惑了
p=&baii是把i的地址給p,這就du叫p指向了i,此時*zhip就和
daoi等價了,而不是*p指向i
int x,*p=&x,這裡的*是指標的宣告格式,後面是用&x 去初始化p,或者說與前面的賦值格式p=&x結果完全一致,當然就是p指向x,注意這個宣告指標時的*p不是表示式中使用的*p,表示式中用的*p代表反引用p指向的內容
另外,由於宣告時p前面只有一個*,所以也就是一重指標,後面使用p時前面不能出現兩個*的
8樓:匿名使用者
int *p=&i;,他有2層意思du,意思是聲zhi明p是一個指標變數,然後
daop指向i的地回址。不是你說的*p指向i的地址,*p表示對答i取內容,他還等價於
int*p;//宣告p是一個指標變數
p=&a;//使p指向a的地址
對於你說的**p,這是一個2級指標,例如
int a[3]=;
int *b[3]=;
int **p;//宣告一個2級指標;
p=b; //使p指向這個指標陣列;
p代表&a[0]的地址,*p就是對這個地址取內容 得到 &a[0];所以*p的值就是&[0];而**p就是對(*p)及&a[0]取內容,得到a[0]的內容就是1;
**p二級指標在字串數字與指標陣列用到。。。
9樓:匿名使用者
int x,*p=&x;可以分解成兩句:int x; int *p=&x;
10樓:匿名使用者
不是。int x,*p=&x;這是定義了一個整型x和整型指標,並把x的地址給指標p了………指向x的還是*p
等價於int x;
int *p;
p=&x;
int x[5]; int *p; p=&x[2]; //指標p存放x[2]的地址,相當於p是指向x[2]的指標 *p=50; //相當於設定x[2]
11樓:
首先說復
明,你用了不少「相當於」制,這種bai理解很不妥:duint *p; p=&x[2];就是指標p指向了x[2],不是相當zhi於p是指向x[2]的指標。「*p=10; 怎麼等於10的」——沒有理解你的問意,但它和int a;a=2;是完全一樣的啊,誰又能說清a是怎麼等於2的呢!
p指向了x[2],那就是p指向的
dao目標*p就是x[2],*p=10,就是x[2]=10……
12樓:匿名使用者
int x[5];//定義了一個int型陣列
int *p;//定義了一個指向int型的指標(而且沒有初版始化,野指標一枚)
*p = &x[2];//指標p指向x陣列中索引為權2的那個地方
*p = 50;//對指標p解引用,使得x[2] = 50; *p的意思就是x[2];相當於x[2] = 50
然後你的int *p;//定義一個野指標
p=x;//你這裡註釋錯了,這裡是把x的值當做地址送給指標p;p就指向一個神奇的地方,如果x=10,那麼p指向的就是地址為10這個地方的一個值(一般會出現段錯誤吧)
應該改為 p =&x[0];//才是p指向x[0]
而且你的問題有問題。*p = 10;意思是x[0] = 10;等號左邊是被賦值的物件,等號右邊是值。
a=b的意思就是把b的值賦給a。所以a的值就是b。
13樓:小忍and奏
x只是為一個連續的記憶體塊 x就是就是指標… 你不信你可以輸出p[0]-p[4]完全一樣
14樓:百穀歌度
p=x其實就是p=&x[0]:這個時候*p就是x[0],x[0]=*&x[0],p=&*p。值得注意的是&和*正好是一套相反的東西
c語言,設p為一個指標,*p=x與p=&x有什麼區別?
15樓:聽不清啊
p為一bai個指標的話,*p=x是給已經指du向可用空間的變zhi量賦值用的,它必須dao先讓指標p指向一內個可用的存容
儲空間,然後這個語句就把x中儲存的值複製到p所指向的那個空間。
而p=&x;就是讓p指向一個可用的儲存空間的語句(p指向變數x)。
比方說:
int x=12,y,*p;
p=&x;
*p=x*x; //----這個語句的作用,就相當於x=x*x;是完全一樣的。
若下面還有:
*p=&y; //p指向y了
*p=x;
則執行此語句後變數y的值就是144了(y的值與x相同了)
有定義:int *p,**q,x;如下有p=&x,q=&x,哪個正確?怎樣才是都正確的?
16樓:匿名使用者
p=&x正確,q=&x錯誤,q是二級指標,不能直接指向普通變數,而應該指向一個指標變數,這麼寫就正確:q=&p;
解釋下指標*p p &p的關係
17樓:萬能導師
使用*定義指標,例如char*p;
p是一個字元的指標;
如果在定義時沒有使用100*,那麼取指標指向的記憶體的值;
例如:inta[]=,3,5,7,9{1},*p;
p=一個;
所以乘以p等於1;
& and是地址操作符,例如,& and是變數p的地址;
比如:# include < stdio . h >
main()
{int[]={1,2,3,4,5},*p=;
printf("%d\n」*p);
printf("%d\n,p);
printf("%d\n」);
printf("%d\n」代替);
}擴充套件資料:
指標變數可以加或減,比如p++、p+i、p-=i。指標變數的加和減不是簡單地加或減一個整數,而是取決於指標指向的資料型別。
當給一個指標變數賦值時,要把一段資料的地址賦給它,而不是直接賦給一個整數,比如int*p=1000;這是毫無意義的,通常會導致程式在使用過程中崩潰。
確保在使用指標變數之前初始化它,否則您將無法確定指標指向的位置,如果指標指向的記憶體不允許,程式將崩潰。對於當前度不指向的指標,建議使用null。
可以減去兩個指標變數。如果兩個指標變數指向同一個陣列中的一個元素,那麼減法的結果就是兩個指標之間不同元素的個數。
陣列也是有型別的,陣列的名稱表示一組相同型別的資料。當您定義一個陣列,或者與sizeof, &操作符一起使用它時,陣列名稱表示整個陣列,並且表示式中的陣列名稱被轉換為指向陣列的指標。
18樓:冷123波
定義指標時用*,如char *p;
那麼p就是一個指向字元型的指標;
如果*不在定義時用,那就取指標所指向記憶體的值,如int a=,*p;
p=a;
那麼*p就是1;
&是取地址運算子,如&p就是取變數p的地址;
下面這個例子:
#include
main()
,*p=a;
printf("%d\n",*p);
printf("%d\n",p);
printf("%d\n",a);
printf("%d\n",&p);
}輸出結果為:
11245036(各人的電腦可能不相同)
1245036(各人的電腦可能不相同)
1245032(各人的電腦可能不相同)
從結果可以看出,
*p為所指向的地址的值
p為所指向的地址,即a的地址
&p為指標變數p的地址
為什麼定義指標變數時要定義其型別
定義型別才可以確定其佔用內容大小並進行相應的操作,如果是物件指標還可以訪問其成員。雖然所有的指標都只佔四個位元組,但不同型別的變數卻佔不同的位元組數。一般來說,int佔四個位元組,char佔一個位元組.如果定義指標變數不定義型別,那麼它在取 也就是取其中的值的時候,就不知道應該讀取幾個位元組。而定義...
層析方法的效能指標有哪些,如何定義?
1.外觀。檢測卡外殼應平整,無劃傷 開裂 變形及汙漬 試劑外殼上蓋與下蓋應緊密合攏,無明顯間隙 檢測卡外殼上蓋應印有清晰良好的條形碼和標誌。2.寬度。試紙條的寬度應 3.移行速度。液體移行速度應不低於10mm min。4.檢測限。不高於 ng ml。5.準確度。用濃度為 ng ml 30 和 ng ...
divcss中怎麼定義文字的樣式比如楷體
2 在index.html中的標籤中,輸入css body。3 瀏覽器執行index.html頁面,此時文字的樣式被成功定義為楷體。在你要使用字型的層新增 font family 楷體 就可以,如果,覺得麻煩,你可以在你的css面板中,雙擊你要使用字型的層,比如layout,你就可以雙擊layout...