C 陣列賦值

2021-10-07 08:52:14 字數 883 閱讀 1116

情況1:無{}

如果沒有初始化函式中定義的陣列,則其元素將是不確定的,這意味著元素的值為以前駐留在該記憶體單元中的值。

int

#includeusing namespace std;

int main()

system("pause");

return 0;

}//輸出:-858993460 2 -858993460 -858993460 -858993460

char 【-52可以理解為亂碼】

#includeusing namespace std;

int main()

system("pause");

return 0;

}//輸出:-52 50 -52 -52 -52

情況2: 有{}

int

#includeusing namespace std;

int main()

; a[1] = 2;

for (int i : a)

system("pause");

return 0;

}//輸出: 0 2 0 0 0

char

#includeusing namespace std;

int main()

; a[1] = '2';

for (char i : a)

沒有壞處,防止亂碼

int a[4];

int b[4] = ;

cout << sizeof a << '\n' 《試了一下記憶體空間,其實在宣告時不管有沒有初始化都已經分配記憶體空間了,結果都是16.

c 陣列賦值

c 中陣列複製有多種方法 陣列間的複製,int pins int alias pins 這裡出了錯誤,也是錯誤的根源,以上 並沒有出錯,但是根本不是複製,因為pins和alias都是引用,存在於堆疊中,而資料9,3,4,3是乙個int物件存在於堆中,int alias pins 只不過是建立另乙個引...

c語言陣列賦值

最近在學c語言,把給陣列賦值的方式總結一下 1 利用malloc include include void main int a a int malloc 2 sizeof int int i 0 int j 1 a 0 i a 1 j int times for times 0 times 2 直...

C字元陣列賦值

舉例如下 char a 10 1 定義的時候直接用字串賦值 char a 10 hello 注意 不能先定義再給它賦值,如 char a 10 a 10 hello 這樣是錯誤的!2 對陣列中字元逐個賦值 char a 10 3 利用strcpy char a 10 strcpy a,hello 易...