源自博文「[c++]陣列的智慧型初始化」
陣列的初始化在一般程式設計中經常會遇到:
1.可以用迴圈對每個元素進行初始化
2.利用c++的陣列智慧型初始化:
2.1 只要用到{},預設初始化為0
2.2 否則不確定,隨機。(這點類似於c++中的區域性變數和靜態變數)
3. c++ standard library提供了乙個初始化的強力工具 memset
函式原型:
msdn
void *memset( void *dest, intc, size_tcount);
dest 是目標起始位址, c 是要賦的值, count是要賦值的位元組數
required header: or
gnuvoid *memset(void *
s, int
c, size_t
n);
required header:
return value:
return the value of 'dest' or 's'
no return value is reserved to indicate an error
memset的作用:初始化、重置 陣列、結構體等記憶體空間。
特點:按位元組拷貝,c will be converted to an unsigned char
注意:對於整型陣列,只能初始化0(全0)或者-1(全1)
**示例:
輸出結果展示:
那麼c++中的二維、多維陣列又如何呢?
一維陣列初始化
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...
qt 二維陣列初始化 C 陣列初始化方法
定義 int pia new int 10 array of 10 uninitialized ints 此 new 表示式分配了乙個含有 10 個 int 型元素的陣列,並返回指向該陣列第乙個元素的指標,此返回值初始化了指標 pia。在自由儲存區中建立的陣列物件是沒有名字的,只能通過其位址間接地訪...
C 陣列初始化
定義 int pia new int 10 array of 10 uninitialized ints 此 new 表示式分配了乙個含有 10 個 int 型元素的陣列,並返回指向該陣列第乙個元素的指標,此返回值初始化了指標 pia。在自由儲存區中建立的陣列物件是沒有名字的,只能通過其位址間接地訪...