多維陣列的特定位置初始化

2021-10-16 16:09:49 字數 2225 閱讀 4465

【8-1】編寫乙個陣列的宣告,把陣列的某些特定位置初始化為特定的值。這個陣列的名字應該叫char_value,它包含3×6×4×5個無符號字元。

下面的表中列出的這些位置應該用相應的值進行靜態初始化。

那些在上表未提到的位置應該被初始化為二進位制值0而不是字元』\0',注意:應該使用靜態初始化,在你的解決方案中不應該存在任何可執行**!儘管並非解決方案的一部分,你可能很想編寫乙個程式,通過列印陣列的值來驗證它的初始化,由於某些值並不是可列印的字元,所以請把這些字元用整型的形式列印出來(用八進位制或十六進製制輸出會更方便一些)。注意,用兩種方法解決這個問題,一次在初始化列表中使用巢狀的花括號,另一次則不使用,這樣你就能深刻理解巢狀花括號的作用。

首先看一下這個4維陣列的定義:

//3,6,4,5

, ,,},

, ,,},

, ,,},

, ,,},

, ,,},

, ,,},

}, ,,,

},, ,,},

, ,,},

, ,,},

, ,,},

, ,,},

}, ,,,

},, ,,},

, ,,},

, ,,},

, ,,},

, ,,},

}}

根據多維陣列的大括號分隔規則,整個維度沒有需要初始化得全部預設設定為0,其他按位置初始化特定值:

int main () ,

,,//110x

//111x

},,//120x

,//121x

,//122x

//123x

},,//130x

,//131x

//132x

},,//140x

,//141x

//142x}},

,,//210x

,//211x

},,//220x

,//221x

,//222x

//223x},,

,//240x

,//241x

,//242x

//243x

},,//250x

,//251x

,//252x

//253x}}

};printf("['a' - %c]",char_value[1][2][2][3]);

printf("[%d - %d]",' ', char_value[1][1][1][1]);

printf("[0xf3 - %x]\n",char_value[1][3][2][2]);

printf("['3' - %c] ",char_value[2][4][3][2]);

printf("[%d - %d] ",'n',char_value[1][4][2][3]);

printf("[%x - %x]\n",'\121', char_value[2][2][3][1]);

printf("[3 - %d]",char_value[2][4][3][3]);

printf("[125 - %d] ",char_value[2][5][3][4]);

printf("['x' - %c]\n",char_value[1][2][3][4]);

printf("[0320 - %o] ",char_value[2][1][1][2]);

printf("[' - %c] ",char_value[2][2][2][2]);

printf("['0' - %c]\n",char_value[2][2][1][1]);

return 0;

}

輸出:

['a' - a][32 - 32][0xf3 - f3]

['3' - 3] [110 - 10] [51 - 51]

[3 - 3][125 - 125] ['x' - x]

[0320 - 320] [' - '] ['0' - 0]

通過這個題目,可以很好的了解多維陣列的初始化。

多維陣列的初始化

嚴格地說,c 沒有多維陣列,所指的多維陣列其實就是陣列的陣列。如果陣列的元素又是陣列,則稱為二維陣列,其每一維對應乙個下標。可以用花括號括起來的初始化式列表來初始化多維陣列的元素。對於多維陣列的沒一行,再用花括號指定其元素的初始化式。int ia 3 4 其中標誌每一行的的內嵌的花括號是可選的 in...

python學習筆記 多維陣列初始化

python中初始化乙個5 x 3每項為0的陣列,最好方法是 multilist 0 for col in range 5 for row in range 3 我們知道,為了初始化乙個一維陣列,我們可以這樣做 alist 0 5 沒錯,那我們初始化乙個二維陣列時,是否可以這樣做呢 multi 0 ...

多維向量vector的初始化

vector ope 對於ope多維向量來說,如果沒有初始化其長度,是不可以通過ope 0 1 來初始化的,這時系統會報錯!解決方法 1.就是用push back 函式向末尾新增元素。include include includeusing namespace std int main for in...