亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

內存申請str(100)與str[100]的區別

有一點疑問,生成100個char內型的內存

char?*str=new?str[100];

是不是可以理解成生成了一個可以存放100個char內型的數組,那既然是數組,strcpy(),是把"Hello Imooc"放在str數組的第幾個位置?隨機?

?要不就是生成100個長度的char內型

char?*str=new?str(100);

這樣strcpy()我還能理解 釋放內存為

?delete?str;?
?str=NULL;


正在回答

1 回答

char?*str=new char[100];的意思是在堆中申請100個char類型的內存;

char?*str=new char(100);的意思是在堆中申請1個char類型的內存,初始化為100;這兒加一句new會調用默認初始化,char默認初始化為'',所以char?*str=new char[100];這個就是100個''。

至于你的”是把"Hello Imooc"放在str數組的第幾個位置?隨機?”這個問題,是放在了數組的前面幾個位置,隨機就不可能了,效率也不允許這樣做。

僅供參考,互相學習!

3 回復 有任何疑惑可以回復我~
#1

瞎掰唄 提問者

非常感謝!
2016-11-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之離港篇
  • 參與學習       122678    人
  • 解答問題       493    個

C++掃清通往面向對象的最后一道障礙,將所有知識點融會貫通

進入課程

內存申請str(100)與str[100]的區別

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號