6設有定義intn0,pnq

2021-03-04 04:59:51 字數 925 閱讀 1765

1樓:匿名使用者

選d.a.p是乙個指標,不能給它賦乙個整型的值1b.

*q仍然是乙個指標,*q就是p.所以也不能給它賦乙個整型的值.c.

q=p;q是個二級指標,p是一級指標,不能把一級指標賦給二級指標.*p=5,即給n賦值為5,正確.

2樓:匿名使用者

d p是指標q是指向批針的指標,記錄的是位址多翻下書這不太好理解

3樓:匿名使用者

我打假 來了 如上,*q是指標,那麼p就存的是他的位址,就是n 的記憶體中的位置,表示為&n而**p = &q,說明**p是個指向*p的指標 即是**p的值為n,而*p裡面裝的呢是p,即是&n,n的記憶體單元**p 裡面裝的是*p的記憶體單元,在這兒**p 和*p 和q 裡面都裝的是記憶體,是資料在機器裡面的位址,對於這種我們不能夠用這種直接賦值的方式改變它 故而我們看a,b,c 都是這樣 所以abc錯誤,他們都在改人家記憶體

7. 設有定義:int n=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是( )。 a) p=1; b) *q=2; c) q=p; d) *p

4樓:匿名使用者

n是整數,p是整數指標,q是雙重指標。

a:p=1 屬於將位址1賦給p,非法。

b:*q=2 這裡*q相當於乙個整數指標,問題同上,非法。

c:q=p 相當於把p的位址賦給q,不能說錯,但是不同維數的指標互相賦值,容易出錯。

以上三種都是編譯沒有問題。

d比較符合規範而已。

5樓:匿名使用者

這題出的是有點問題,按他這意思,q應該是乙個指向指標的指標,所以正確答案應該是d,

但是不能說其他的賦值是錯誤的,只是對這個題來說沒什麼意義而已。

c語言中定義函式開始void和int有什麼區別

viod是無返回值的函式,int是整型函式,我是剛學的新手,請問c語言中的void是什麼,用void和int定義函式有什麼區別?void是空的意思,舉個簡單的例子 void myfun int myfun void myfun 不需要返回值,而int myfun 要返回乙個整數。c語言中的函式,te...

設有定義語句inta3,bpa要將變數a

選d 是用來取指標指向的位址中的資料的.a不是指標,當然不能寫作 a了.而b a之所以對是因為 int p a 它相當於int p p a p是指標,所以 a也是指標,所以才會有 a 之說啊 設有語句 int a 3 則執行了語句 a a a後,變數a 的值是 a 3 b 0 c 9 d 12 賦值...

設有如下定義 int pp 100則printfd ,p的輸出結果是100,對麼?為什麼

int p p 100 則 printf d p 的輸出結果是100是不對的,p宣告為乙個int型指標,但是沒有指向具體的記憶體空間。int型別在記憶體中佔用了4個位元組,也就是32位。int型別是有符號的,因此,32位並不會全部用來儲存資料,使用最高位來儲存符號,最高位是0,提示資料是正數,最高位...