在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

同樣是const,為什么結(jié)果不一樣?

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2023-02-02 16:03 ? 次閱讀

昨天有個(gè)學(xué)生去做C/C++軟件工程師的筆試題,遇到了這么一個(gè)題目,來問我結(jié)果是多少?

bc0d0b5c-a2ce-11ed-bfe3-dac502259ad0.png

看似非常普通的一道C語言題目,如果不指定編譯器,還真不知道結(jié)果是多少。

不信我來演示給你看下。

首先是用gcc來編譯,就是C語言的編譯器,語法沒有問題,運(yùn)行結(jié)果,num = 2。

root@Turbo:test# gcc test.c -o test

root@Turbo:test# 。/test

num = 2

root@Turbo:test#

同樣的代碼,換成g++來編譯,就是C++的編譯器,結(jié)果是num = 1。

root@Turbo:test# g++ test.c -o test

root@Turbo:test# 。/test

num = 1

root@Turbo:test#

都說C++是兼容C語言的,為什么在處理結(jié)果上卻不同。

其實(shí)說兼容當(dāng)然是沒問題的,只是C語言和C++中const的作用不同。

C語言中,const修飾的是只讀變量,意思是不能通過變量本身去修改對應(yīng)內(nèi)存的值,但是可以通過其他方式去修改,比如指針。代碼中確實(shí)也是通過指針來修改的,所以num對應(yīng)的那塊內(nèi)存值變了。

但是在C++中,const修飾的就是一個(gè)常量,跟define定義的宏有點(diǎn)類似,它存放在符號(hào)表中,接下來只要遇到這個(gè)常量,直接就是替換。

那么問題就來了,既然它沒有存放在內(nèi)存中,為什么代碼中還能對他進(jìn)行取地址的操作。

這一點(diǎn)主要還是為了兼容C語言,強(qiáng)行對它取地址,編譯器會(huì)分配一塊內(nèi)存,并且把常量的值填在內(nèi)存里面,然后取這塊內(nèi)存的地址進(jìn)行運(yùn)算。但是整個(gè)過程并不會(huì)影響常量的屬性,代碼下面遇到,還是直接替換。

const在C++中還有很多用處,修飾成員變量、修飾成員函數(shù),所以學(xué)完了C語言,如果有精力,可以去看看C++,不為別的,學(xué)習(xí)C++可以更好的理解C語言。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137755
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73865
  • CONST
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    8191

原文標(biāo)題:同樣是const,為什么結(jié)果不一樣?

文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    為什么labview公式節(jié)點(diǎn)內(nèi)不同的公式形式結(jié)果不一樣呢?

    上面兩個(gè)程序其實(shí)是一樣的,第個(gè)和第二個(gè)中公式節(jié)點(diǎn)內(nèi)只是x的三次方和二次方形式不一樣,但為什么結(jié)果圖形中虛線的圖線不一樣呢?應(yīng)該
    發(fā)表于 01-07 16:30

    ad620放大電路結(jié)果跟想要的結(jié)果不一樣

    這個(gè)放大電路結(jié)果跟想要的結(jié)果不一樣。怎么辦, 想要的結(jié)果是4.5V
    發(fā)表于 05-13 20:37

    為什么同個(gè)電路,同樣的參數(shù),每次的仿真結(jié)果為什么會(huì)不一樣,頭疼

    用Multisim仿真個(gè)很簡單的電路圖,但是同個(gè)電路圖,同個(gè)仿真參數(shù),為什么仿真出來的結(jié)果會(huì)不一樣呢?跪求大神指點(diǎn)解答!
    發(fā)表于 05-15 17:17

    請問使用ActiveX需要注意什么嗎?為什么兩個(gè)同樣程序框圖的vi,運(yùn)行結(jié)果不一樣

    會(huì)不一樣?附件中的 Display PDF File-1.vi 是正??梢詧?zhí)行; Display PDF File-2.vi 卻有錯(cuò)誤,執(zhí)行不出結(jié)果
    發(fā)表于 03-28 10:43

    程序編輯器結(jié)果不一樣

    有個(gè)程序段int i=1;int j=0;j=((i++)*(i++));printf(“%d,%d\n”,i,j);在不同的編輯器結(jié)果為什么不一樣 我用虛擬機(jī)的VI編輯結(jié)果i=3;j=1;用C++編輯
    發(fā)表于 03-13 02:22

    為什么我的淚滴不一樣

    我的淚滴怎么和網(wǎng)上的不一樣??
    發(fā)表于 03-13 15:23

    請問keil5代碼一樣但運(yùn)行結(jié)果不一樣是怎么回事?

    在用keil5的時(shí)候,兩個(gè)一模一樣的代碼執(zhí)行的結(jié)果不一樣。經(jīng)過多次測試都是這樣的現(xiàn)象。不知道是不是我的環(huán)境配置有問題還是其他的?
    發(fā)表于 06-13 04:35

    這個(gè)仿真例程設(shè)置的參數(shù)一樣,為何會(huì)出現(xiàn)不一樣的仿真結(jié)果?

    這個(gè)仿真例程設(shè)置的參數(shù)一樣,為何會(huì)出現(xiàn)不一樣的仿真結(jié)果?
    發(fā)表于 12-23 09:08

    freeRtos和裸機(jī) 跑同樣個(gè)程序,效率不一樣

    freeRtos和裸機(jī) 跑同樣個(gè)程序,效率不一樣,RTOS只有個(gè)task,而且沒有vTaskDelay 掛起。跑同樣
    發(fā)表于 07-04 11:10

    同樣的電機(jī),電壓等級、功率等都一樣,為什么電機(jī)的勵(lì)磁電壓不一樣呢?

    請教了好多人,都沒有個(gè)真正的答案。 同樣的電機(jī),電壓等級、功率等都一樣,為什么電機(jī)的勵(lì)磁電壓不一樣呢??
    發(fā)表于 11-17 08:28

    AD633在multisim上仿真,結(jié)果與預(yù)期不一樣怎么解決?

    按照官方提供的除法電路,在multisim上仿真,結(jié)果與預(yù)期不一樣,求高手解釋
    發(fā)表于 11-17 10:53

    在車輛自燃方面,電動(dòng)汽車和燃油汽車有什么不一樣

    說起車輛的自燃問題,無論是純電動(dòng)汽車還是燃油車,都會(huì)有自燃的事件出現(xiàn),對于同樣是自燃,電動(dòng)汽車和燃油車汽車有哪些不一樣
    發(fā)表于 10-28 09:00 ?1197次閱讀

    C++中不一樣的重載是什么

    這里想分享C++中個(gè)不一樣的重載,即const重載。
    的頭像 發(fā)表于 02-21 14:02 ?811次閱讀
    C++中<b class='flag-5'>不一樣</b>的重載是什么

    電容容量一樣大小不一樣能用嗎

    有時(shí)候家里面電器中的電容損壞,很多人很難找到一模一樣的來更換,能找到容量致的電容器就不容易了,電容容量一樣大小不一樣能用嗎?
    的頭像 發(fā)表于 09-21 09:54 ?2676次閱讀

    不同芯片的DMA(Direct Memory Access)是不一樣

    不同芯片的DMA(Direct Memory Access)是不一樣
    的頭像 發(fā)表于 10-16 09:14 ?1633次閱讀
    主站蜘蛛池模板: 97视频免费上传播放 | 亚洲成人在线电影 | 久99频这里只精品23热 视频 | 天堂在线最新版www中文 | 中文字幕va | 国产一区二区在线不卡 | 中文字幕在线播放第一页 | 国产小福利 | 性欧美高清久久久久久久 | 欧美视频不卡一区二区三区 | 四虎影视大全免费入口 | 加勒比一到三区 | 天天操天天射天天插 | 狠狠色丁香婷婷综合视频 | 色视频免费版高清在线观看 | 天天天天射 | 欧美三级视频网 | 男女视频在线播放 | 青草午夜精品视频在线观看 | 成人看的午夜免费毛片 | 亚洲va久久久噜噜噜久久狠狠 | www天堂在线 | 欧美另类69xxxxxhd | 男男污肉高h坐便器调教 | 亚洲一区二区三区在线 | 成人在线精品 | 免费一级毛片私人影院a行 免费一级毛片无毒不卡 | 狠狠色狠狠色综合婷婷tag | 1024手机看片欧美日韩 | 亚洲黄色三级 | www.四虎| 日产精品卡二卡三卡四卡无卡乱码 | 亚洲一本| 欧美色影视| 久操视频网 | 国产成人精品亚洲日本在线 | 亚洲人成在线精品不卡网 | 天天做天天摸天天爽天天爱 | 香蕉成人国产精品免费看网站 | 欧美黄业 | 简单视频在线播放jdav |