第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

C中的雙指針常量正確性警告

C中的雙指針常量正確性警告

C
慕的地10843 2019-08-19 15:12:02
C中的雙指針常量正確性警告指向非const數(shù)據(jù)的指針可以隱式轉(zhuǎn)換為指向相同類型的const數(shù)據(jù)的指針:int       *x = NULL;int const *y = x;添加額外的const限定符以匹配額外的間接尋址應(yīng)該在邏輯上以相同的方式工作:int       *      *x = NULL;int       *const *y = x; /* okay */int const *const *z = y; /* warning */-Wall但是,使用標(biāo)志對(duì)GCC或Clang進(jìn)行編譯會(huì)產(chǎn)生以下警告:test.c:4:23: warning: initializing 'int const *const *' with an expression of type      'int *const *' discards qualifiers in nested pointer types    int const *const *z = y; /* warning */                      ^   ~為什么添加額外的const限定符“在嵌套指針類型中丟棄限定符”?
查看完整描述

2 回答

?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

之所以const只能添加一個(gè)級(jí)別的原因是微妙的,并且在comp.lang.c FAQ中問(wèn)題11.10解釋。

簡(jiǎn)而言之,請(qǐng)考慮與您的密切相關(guān)的此示例:

const int i;int *p;int const **z = &p;*z = &i;/* Now p points to i */

C通過(guò)僅允許在第一個(gè)指向級(jí)別丟棄限定符來(lái)避免此問(wèn)題(因此z不允許在此處進(jìn)行賦值)。

您的確切示例不會(huì)遇到此問(wèn)題,因?yàn)?code>const第二級(jí)意味著*z無(wú)論如何都不會(huì)允許分配。在這種情況下,C ++ 會(huì)允許它,但C的更簡(jiǎn)單的規(guī)則不區(qū)分你的情況和上面的例子。


查看完整回答
反對(duì) 回復(fù) 2019-08-19
  • 2 回答
  • 0 關(guān)注
  • 511 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)