兩個(gè)指針可以相加嗎 對于類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是符號是?
對于類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是符號是?您應(yīng)該選擇C??梢员容^選項(xiàng)a中相同類型的兩個(gè)指針的大小。比較原則應(yīng)基于實(shí)際內(nèi)存的高位和低位。B選項(xiàng)分配,當(dāng)然可以。D選項(xiàng)可以通過減去兩個(gè)相同的指
對于類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是符號是?
您應(yīng)該選擇C??梢员容^選項(xiàng)a中相同類型的兩個(gè)指針的大小。比較原則應(yīng)基于實(shí)際內(nèi)存的高位和低位。B選項(xiàng)分配,當(dāng)然可以。D選項(xiàng)可以通過減去兩個(gè)相同的指針變量(應(yīng)用于特定類型的數(shù)組)來獲得相同類型的元素?cái)?shù)。不允許使用C選項(xiàng),因?yàn)閮蓚€(gè)指針不添加任何內(nèi)容,所以不允許添加。
請問兩個(gè)指針變量能比較大小嗎?謝謝?
對象指針的值是映射到線性地址空間的整數(shù)值。C/C允許比較同一類型的兩個(gè)對象指針,包括==,!=,<,>,<=,>=。所以LZ問題的答案是肯定的。對于不同類型的對象指針,可以比較轉(zhuǎn)換。由于C語言的靜態(tài)類型檢查比C語言更為嚴(yán)格,同一代碼在C語言編譯器中可能會產(chǎn)生編譯錯(cuò)誤,而C語言編譯器只會由于缺少隱式轉(zhuǎn)換而發(fā)出警告。C的成員指針通常是用offset實(shí)現(xiàn)的,但它不一定代表特定的地址或偏移量(它可以看作是成員的不可見結(jié)構(gòu),與編譯器及其所指向的類型有關(guān))。即使在同一個(gè)編譯器中,不同成員指針類型的sizeof結(jié)果也不是唯一的。在這種情況下,即使按值轉(zhuǎn)換也無法實(shí)現(xiàn),自然也無法比較)數(shù)字是沒有意義的。無法比較不同類型的成員指針。除了operator==和operator之外,不能比較完全相同類型的成員指針!=. ----Zhsh955錯(cuò)誤。指針是內(nèi)存地址,↑錯(cuò)誤,例如,可能表示寄存器地址空間。說白了,這是一個(gè)32位整數(shù),↑錯(cuò)誤。例如,在16位平臺上,指針的值是16位無符號整數(shù);在64位平臺上,指針的值是64位無符號整數(shù)。另外,C/C中常見的錯(cuò)誤是指針有類型,地址是整數(shù),沒有類型(實(shí)際上,地址根本不是語言本身的概念)。指針可以是一個(gè)對象,而地址本身就是一個(gè)正確的值。=====首先是最基本的知識,比如寫頭文件、函數(shù)聲明、定義變量等。
2. 接下來,我們需要定義一個(gè)指針。我們需要定義兩個(gè)指針P1和P2,然后將a的地址分配給P1,將B的地址分配給P2。
3. 然后是調(diào)用函數(shù),函數(shù)不返回一個(gè)值,它直接調(diào)用,但參數(shù)輸入的地址是a和B,而不是a和B。功能點(diǎn)用完后,輸出a和B的值,看是否互換。
5. 首先,a和B的地址被傳遞給X和y,a和B的值直接通過指針進(jìn)行操作。
6. 最后,交換*x和*y的值,從而實(shí)現(xiàn)a和B的值。