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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)問(wèn)C++中二維數(shù)組的問(wèn)題

請(qǐng)問(wèn)C++中二維數(shù)組的問(wèn)題

C C++
莫回?zé)o 2018-07-22 19:12:05
C++中 二維數(shù)組如何初始化為空的?這樣可以嗎?int temp[][3]={};求教 謝謝!
查看完整描述

2 回答

?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

C++沒(méi)有“空數(shù)組”這一說(shuō),事實(shí)上你也不需要真正為空的數(shù)組。數(shù)組就是用來(lái)讀寫(xiě)的,空著有什么用?如果你不想看到數(shù)組中的某些元素,不讀它就行了。聲明一個(gè)數(shù)組,系統(tǒng)就在棧上為你分配一塊相應(yīng)大小的空間。如果數(shù)組初始化了,比如說(shuō)這樣

    int temp[][3] = {0};

那么這塊空間里都被寫(xiě)入了0。但是,這種聲明方式缺少了第一維,所以給人造成困惑:這塊空間到底是多大呢?一般來(lái)說(shuō),應(yīng)該是3*sizeof(int),也就是說(shuō),這個(gè)數(shù)組里面被填充了3個(gè)0。如果這樣初始化:

    int temp[][3] = {0, 1, 2};

數(shù)組的大小還是3*sizeof(int)。但是,如果這樣初始化呢:

    int temp[][3] = {0, 1, 2, 3};

這塊數(shù)組的大小就是6*sizeof(int)。原因是:原本聲明了3列,但是初始化的時(shí)候有4個(gè)int,于是系統(tǒng)自動(dòng)又為數(shù)組添了一行。同理,如果這樣初始化:

    int temp[][3] = {0, 1, 2, 3, 4, 5};

那么數(shù)組大小還是6*sizeof(int),而這樣初始化:

    int temp[][3] = {0, 1, 2, 3, 4, 5, 6};

這時(shí),數(shù)組大小就是9*sizeof(int)了。
但是,如果你不對(duì)數(shù)組進(jìn)行初始化,比如說(shuō)這樣:

    int temp[][3];

一般是編譯不過(guò)的。原因很簡(jiǎn)單,如果同時(shí)給出了第一維m和第二維n,那么數(shù)組空間就按照m*n個(gè)int來(lái)分配;如果只給出第二維n,那么系統(tǒng)需要綜合考慮n和你實(shí)際初始化的數(shù)據(jù)為數(shù)組分配空間;如果你連初始化也沒(méi)做,系統(tǒng)直接傻眼,不知道該分配多少空間了,所以編譯報(bào)錯(cuò)。


查看完整回答
反對(duì) 回復(fù) 2018-07-24
?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

int temp[這里必須要有一個(gè)數(shù)字][3]={0};


查看完整回答
反對(duì) 回復(fù) 2018-07-24
  • 2 回答
  • 0 關(guān)注
  • 1009 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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