指針之間也不能隨意賦值。
看個(gè)比較典型的C語(yǔ)言筆試題。
有三個(gè)定義,問(wèn)以下賦值語(yǔ)句哪幾個(gè)不正確?
大家也不妨把視頻暫停思考一下,把答案留在評(píng)論區(qū)。
s 是個(gè)二維數(shù)組,三行十列;
k 是個(gè)指針,指向有三個(gè)元素的數(shù)組;
p 就是個(gè)簡(jiǎn)單的 char 類型指針。
第一個(gè) p = s。
s 是二維數(shù)組的數(shù)組名,表示二維數(shù)組首行的地址,如果讓 s 加一,會(huì)加 10 個(gè)字節(jié);
而指針 p 只是個(gè)字符指針,p+1 只加了一個(gè)字節(jié)。
這兩個(gè)含義不一樣,不能賦值。 第二個(gè) p = k。
k 指向的是數(shù)組,p 指向的是字符,同樣也是對(duì)不上,不能賦值。
第三個(gè) p = s[0]。
s[0] 表示數(shù)組首行首元素地址,既然是元素的地址,s[0] 加一,就是加 1 個(gè)字節(jié)。
p也是元素的地址,這兩個(gè)含義一樣,可以賦值。
第四個(gè) k = s。
s 是二維數(shù)組首行的地址,首行有 10 個(gè)元素。
k 雖然也指向一維數(shù)組,但是只有三個(gè)元素,10 個(gè)元素和 3 個(gè)元素也對(duì)不上,不能賦值。
所以答案就是,除了第三個(gè),其他的都不能賦值。
審核編輯:劉清
-
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7631瀏覽量
141337
原文標(biāo)題:指針之間不要隨意賦值
文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
DSP中怎么給地址指針賦值
SBUF怎么賦值呢?
c語(yǔ)言指針
dd的值沒(méi)有賦值給指針
【設(shè)計(jì)技巧】指針的使用注意事項(xiàng):空指針、指針賦值、void *指針
為什么代碼會(huì)產(chǎn)生來(lái)自不兼容指針類型的賦值
C語(yǔ)言指針的內(nèi)容
c語(yǔ)言函數(shù)指針定義,指針函數(shù)和函數(shù)指針的區(qū)別
深入了解void指針背后的機(jī)理
51單片機(jī)-指針方法-串口實(shí)例

C語(yǔ)言指針的理解使用

求求你,不要再糾結(jié)指針了(2)——函數(shù)指針

評(píng)論