什么是C語言的初始化
就是在定義一個變量的時候給他賦值。
比如:
……
main()
{
int i = 0;//這里就是C的初始化
i = 3;//這里是正常的語句
printf("%d\n", i);
}
如果你不寫int i = 0; 只是 int i;
如果你一旦漏寫了
i = 3;
那么你再寫 printf("%d", i);
可能出現亂碼,而你找不出來。
如果你寫了i = 0; 那么你就知道你i 忘記了賦值,可以找到錯誤。
這樣計算機運行的也不那么郁悶了。
以下能對一維數組a進行正確初始化的語句是(). A:int a[10]=(0,0,0,0,0
A 括號應使用{};
B {}里沒有賦值;
C 應該用{};
D 正確,a[0]賦值20,其余的9個賦值為0。
在C中,可以逐個初始化數組,也可以使用一個初始化語句,如下所示:
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
大括號 { } 之間的值的數目不能大于我們在數組聲明時在方括號 [ ] 中指定的元素數目。
如果省略掉了數組的大小,數組的大小則為初始化時元素的個數。因此,如果:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};將創建一個數組,它與前一個實例中所創建的數組是完全相同的。
擴展資料:
數組使用規則:
1.可以只給部分元素賦初值。當{ }中值的個數少于元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而后5個元素自動賦0值。
2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;(請注意:在C、C#語言中是這樣,但并非在所有涉及數組的地方都這樣,數據庫是從1開始。)
3.如不給可初始化的數組賦初值,則全部元素均為0值。
4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。
參考資料:
搜狗百科-數組