1樓:匿名使用者
int x = 100,y; //定義兩個整型變數,並對x賦初值100
int *p1; //定義乙個指向整型變數的指標p1
const int *p2 = &x; //定義乙個常變數,型別是指向整型變數的指標p2,並將x的位址賦給p2,const關鍵字,是乙個c語言的關鍵字,它限定乙個變數不允許被改變
a選項: 將變數x的位址賦值給指標p1
b選項: 將指標變數p2的值賦值給指標變數p1,此時兩個指標變數同時指向變數x
c選項: 將指標變數p1的值賦值給指標變數p2.錯誤1,p2的值是不允許改變的;錯誤2,p1指標無確定指向,不能作為賦值語句的右值進行賦值運算.
d選項: 將變數y的位址賦值給指標變數p2.錯誤點,p2的值是不允許改變的
2樓:徐光豬
int x=100,y;//定義整型變變數x,yint *p1;//定義指向整型指標p1
const int *p2=&x;//定義乙個指向常量的指標p2並將x的位址給p2
p1=&x; //就是將整型x的位址給整型指標p1,正確p1=p2;//正確,將p2值給p1
p2=p1;//錯誤,因為,乙個指向變數的指標不能賦值給指向常量的指標
關於指向const指標,可以指向const變數,非const變數,但是指向cosnt指標就不能得到非cosnt指標的值
3樓:匿名使用者
感覺上面說的都有一些毛病,我補充一下
int x = 100,y; //定義兩個整型變數,並對x賦初值100
int *p1; //定義乙個指向整型變數的指標p1
const int *p2 = &x; //定義乙個常變數指標, 即const int 指標p2,同時將x的值賦給p2。*p2不允許改變,但p2是可以改變的。即p2指向的位址是可以修改的,但是p2指向的值是不可以修改的。
即可以做如下修改
int x=100,y;
int *p1;
const int*p2=&x;
int m=10;
p2=&m; //可以,因為p2的位址可以改成m的位址
*p2=*p2+10; //不可以,因為p2指向的值100是不允許修改的
如果這樣宣告1:
int* const p2=&x;
則p2指向的值(*p2)是可以修改的,p2指向的位址是不可以修改的。
如果這樣宣告2:
const int * const p2=&x;
則p2指向的值和位址同時都不能改變
a選項: 將變數x的值賦給指標p1. 正確。
b選項: 將指標變數p2的值賦值給指標變數p1。錯誤,不能將const int* 型別的值賦給 int*型別
c選項: 將指標變數p1的值賦值給指標變數p2.錯誤,p1指標無確定指向,沒有初始化,不能作為賦值語句的右值進行賦值運算.
d選項: 將變數y的值賦給指標變數p2.錯誤,y的值沒有初始化。
感覺這道題應該是選正確的一項,而不是選不正確的一項。答案應該是a。
4樓:匿名使用者
樓主的題目。。。。
我在vc++6.0和gcc上執行的結果好像都是b項啊,樓主從**弄的這題目答案。
如果用const int*來宣告了指標,那麼它好像不允許用*p2=100;這樣的表示式來修改目標變數x的值,並且也不允許其他指標通過查詢它的方式獲得目標變數x的位址,p1=p2;*p1=100;修改目標變數x的值。它甚至不會告訴別人我指的變數是誰(b項正是違背了這一條)。但是p1如果繞過它通過其他方式獲得了x的位址並且去修改x的值,它就管不了了。
麻煩幫我解釋下這個怎麼看,麻煩幫解釋下,有幾句看不太懂
正所謂,日有所思,夜有所夢。夢裡的東西和現實沒有任何關係的。有時做得夢醒後卻什麼都想不起來了。注意bai 易患抑鬱 強迫症 學會照顧du 自己zhi,放空自己 不要施dao壓給自己 建議版多出去走走,旅權旅遊,接觸新環境,新人 不要總堅守在辦公室一角 掙錢 強迫症 這是毛病 不是疾病 平時太在意 外...
求高手解釋一下這個SQL語句的意思,最好詳細一點,急求
我先來解釋一下你寫的這個吧 1 判斷是否存在t pur supplier if exists select from premiermis.dbo.sysobjects where name t pur supplier 2 如果存在刪除 drop table premiermis.dbo.t pu...
請大神解釋一下這語句的意思,請大神註釋一下這幾個語句的意思!
當你點選的的按鈕是退出的時候,就會提出提示框joptionpane.showconfirmdialog 問你要不要退出,退出點yes,不退出點no 點yes,if s 0 system.exit 0 系統就退出了 那個null 應該是第乙個引數,是彈出框的標題,這裡是null 就是沒有的意思 後面的...