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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串常量的存儲

字符串常量的存儲

哈士奇WWW 2019-05-25 13:14:05
在網(wǎng)上看內(nèi)存管理時看到人家說:chars1[]="aaaaaaaaaaaaaaa";char*s2="bbbbbbbbbbbbbbbbb";aaaaaaaaaaa是在運(yùn)行時刻賦值的;而bbbbbbbbbbb是在編譯時就確定的;有點(diǎn)不明白~“aaaaaaaaaaa”"bbbbbbbbbbbbbbbbb"應(yīng)該都屬于字面值常量,在編譯時應(yīng)該存儲在數(shù)據(jù)區(qū)中的文字常量區(qū)吧,所以為什么說“aaaaaaaaaaa是在運(yùn)行時刻賦值的;而bbbbbbbbbbb是在編譯時就確定的;“請大神幫忙解釋一下,謝謝!
查看完整描述

2 回答

?
動漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個贊

首先你要明確s1和s2的類型,前者是數(shù)組類型,后者是指針類型,完全不同?。?!,但是可以轉(zhuǎn)化。
chars1[]="aaaaaaaaaaaaaaa";這句代碼在干嘛呢?你可以把它想象成inta=1;,都是定義并賦初始值。但是和char*s2="bbbbbbbbbbbbbbbbb";相比確實(shí)是比較模糊的,s1那句其實(shí)是在以字符串初始化字符數(shù)組,這句加粗的好好地理解?。?!
解釋到這里你應(yīng)該就懂了。找不到啥講的了。
還有chars1[]="aaaaaaaaaaaaaaa";是在運(yùn)行時賦值的么?我怎么覺得是在編譯期呢?以我的理解,如果該句放在全局作用域,是在編譯期的,如果不是的話,就是運(yùn)行期。不知道說的對不對,待指正!
                            
查看完整回答
反對 回復(fù) 2019-05-25
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊

chars1[]="aaaaaaaaaaaaaaa";
上面的寫法s1[]存儲的數(shù)據(jù)存放于棧空間里,是程序運(yùn)行時東西分配的。賦值“aaaaa......”的長短會影響棧使用,如果這樣賦值太長的一個字符串比如超過1024byte在有的ide上編譯不過。
char*s2="bbbbbbbbbbbbbbbbb";
上面的寫法"bbbbbbbbbbbbbbbbb"不占用??臻g,這個“bbbbb...”(一般)存儲于程序的常量區(qū),由編譯時確定
                            
查看完整回答
反對 回復(fù) 2019-05-25
  • 2 回答
  • 0 關(guān)注
  • 416 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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