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

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

一個默認值為的普通數組的初始化

一個默認值為的普通數組的初始化

C++
慕工程0101907 2019-07-05 10:27:15
一個默認值為的普通數組的初始化C+Notes:數組初始化有一個很好的數組初始化列表。我有一個int array[100] = {-1};預期它是滿的-1,但它不是,只有第一個值是,其余的是0和隨機值混合。密碼int array[100] = {0};工作正常,并將每個元素設置為0。我在這里錯過了什么.。如果值不是零,就不能初始化它嗎?2:默認初始化(如上面所示)是否比整個數組的循環速度更快,并分配一個值,還是做同樣的事情?
查看完整描述

3 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

使用您使用的語法,

int array[100] = {-1};

“將第一個元素設置為-1剩下的0“因為所有省略的元素都設置為0.

在C+中,將它們全部設置為-1,您可以使用類似的std::fill_n(來自<algorithm>):

std::fill_n(array, 100, -1);

在便攜式C中,您必須自己轉一圈。有編譯器擴展,或者您可以依賴于實現定義的行為作為快捷方式,如果這是可以接受的。


查看完整回答
反對 回復 2019-07-05
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

GCC編譯器有一個擴展,它允許語法:

int array[100] = { [0 ... 99] = -1 };

這將所有元素設置為-1。

這被稱為“指定的初始化器”(請參閱這里以獲取更多信息。

注意,這不是為GCC c+編譯器實現的。


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 860 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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