C語言陣列初始化的三種方式:1、在定義時直接賦值,語法「資料型別arrayName[index] = {值};」;2、利用for迴圈初始化,語法「for (int i=0;i
本教學操作環境:windows7系統、c99版本、Dell G3電腦。
C語言陣列初始化的三種方式
#1、在定義時直接賦值
int arr1[3] = {0};
使用{0} 的方式最簡潔,一般在定義的時候使用。
2、for 迴圈初始化
int arr2[3];
for (int i = 0; i
使用 for 迴圈的好處是:可以將每個元素設為不同的值。
3、memset 函數
memset 函數宣告為:
void *memset(void *str, int c, size_t n)
將str 中目前位置後面的n 個位元組(typedef unsigned int size_t )以c 取代並傳回str 。
int arr3[3];memset(arr3, 0, sizeof(int) * 3);
memset 一般使用「0」初始化記憶體單元,通常是給數組或結構體初始化,或清空數組或結構體。
一般如 char、int、float、double 等類型的變數直接初始化即可,如果用 memset 的話反而顯得麻煩。
三種方式的範例程式碼如下:
要注意的是:memset函數會以位元組對記憶體區塊進行初始化,所以不能用它將int 數組初始化為0 和-1 之外的其他值。
memset 賦值為-1 或0,最後的結果是正確的:
##但使用memset賦值為-1和0以外的值,最終的結果並不是期望值。例如賦值為1,則如下圖所示: 因為memset 是對每個位元組進行賦值的,已知一個int 為4位元組,那麼memset 賦值時為二進位則為:00000001 00000001 00000001 00000001 = 16843009
【相關推薦:C語言教學影片教學課程、#教學課程】
以上是c語言數組如何初始化的詳細內容。更多資訊請關注PHP中文網其他相關文章!