c指針為什么要指定對(duì)應(yīng)的類型

因?yàn)镃的變量地址是變量低字節(jié)的地址,不同的數(shù)據(jù)類型有不同的字節(jié) 。

64位下: int 4 char 1

如果指定的類型不相同:

int c= 2;
char a = 1;

int *p = &a;

printf("%d",*p); // 513

結(jié)果是因?yàn)?c的變量先定義那么c的地址高于 a的地址

c地址 :   0000 0000  &c
             0000 0000
             0000 0000
             0000 0010
a地址:  0000 0001

如果 指針p 為int 那么a取值就是:
             0000 0000
             0000 0000
             0000 0010
             0000 0001
      即: 0000 0000 0000 0000 0000 0010 0000 0001 --> 513。

編譯器在 通過*p來操作變量的存儲(chǔ)空間的時(shí)候是按照 指針指向的類型來決定存儲(chǔ)的字節(jié)數(shù)的 ,如果字節(jié)不對(duì),那么數(shù)據(jù)的存儲(chǔ)就會(huì)不同。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運(yùn)用指針編程是C語言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,606評(píng)論 3 44
  • 1.語言中變量的實(shí)質(zhì) 要理解C指針,我認(rèn)為一定要理解C中“變量”的存儲(chǔ)實(shí)質(zhì), 所以我就從“變量”這個(gè)東西開始講起吧...
    金巴多閱讀 1,972評(píng)論 0 9
  • void* 類型指針:通用變體類型指針;可以不經(jīng)轉(zhuǎn)換,賦給其他指針,函數(shù)指針除外;malloc返回的就是void*...
    冰吉凌閱讀 3,511評(píng)論 0 18
  • 從明天算起,到二十六歲生日那天,一共八十三天。我希望自己在八十三天內(nèi)瘦到九十斤,然后,拍一套生日寫真,吃一個(gè)巧克力...
    寒雪霏霏閱讀 168評(píng)論 0 0
  • 關(guān)于書藉《如何高效閱讀》總結(jié) 本書目的:教會(huì)大家如何高效閱讀 技巧:結(jié)合書藉訓(xùn)練 在訓(xùn)練之前,先做一個(gè)閱讀速度測(cè)試...
    阿阿西吶閱讀 523評(píng)論 3 4

友情鏈接更多精彩內(nèi)容