陣列元素初始化時,若沒有顯式提供幸元素的值,則元素會被像普通變數一樣初始化:
函式體外定義的內建型別陣列(即內建型別的全域性陣列),元素初始化為0;
函式體內定義的內建型別陣列,元素無初始化(注意,若只初始化部分元素,其後的元素此時也會被初始化為0);
如果不是內建型別,則不管其在哪定義,自動呼叫其預設建構函式為其初始化,若該型別無缺省建構函式則會報錯。
下面針對1和2的不同給出具體例子:
1.對條件1給出的例子,此時輸出的a[0]為0,初始化為了0
#include
using
namespace
std;
int a[6];//陣列a定義在主函式外
int main()
2.對條件2給出的例子,此時輸出的a[0]為乙個未初始化的值
#include
using
namespace
std;
int main()
一維陣列初始化
include includevoid main printf x n num printf x n num printf x n num 0 int num 10 直接初始化,只要有乙個元素初始化,則其他的元素會自動初始化為0 其他資料型別也如此 printf x n num int num 10...
memset函式與二維陣列初始化的問題
今天在編寫levenshtein distance距離函式時用到二維陣列,用memset對其初始化時發生了問題,直接 int m null int i 0,j 0 m int malloc row sizeof int for i 0 i row i memset m,0,row col 4 for...
C 一維陣列初始化
源自博文 c 陣列的智慧型初始化 陣列的初始化在一般程式設計中經常會遇到 1.可以用迴圈對每個元素進行初始化 2.利用c 的陣列智慧型初始化 2.1 只要用到 預設初始化為0 2.2 否則不確定,隨機。這點類似於c 中的區域性變數和靜態變數 3.c standard library提供了乙個初始化的...