概要:
1、创将数组的时候,如果数组大小是确定数值
(1)数组所有元素默认是0
(2)可以通过大括号对元素进行赋值
int arr[3]={1,2,3};
int arr[10]={1}; //只将第一个元素赋值为1,其他元素依然是0
2、创建数组的时候,如果数组大小是变量
(1)数组元素的初始值是不确定的
(2)不可以通过大括号对元素进行赋值
(3)只能后期通过赋值改变元素的值
一、数组大小为固定数值时,数组元素初始值为0
用类似 int arr[10];创建数组,数组中的元素默认都是0
因为数组的大小是用数值10确定的,是一个固定值,所以,在程序装载的时候,数组就创立了,数组中的元素都默认填充了0
示例代码
#include<stdio.h>
int main() {
int arr1[10];
int arr2[10] = {5};
int i;
for (i = 0; i < 10; i++) {
printf("%d ", arr1[i]);
}
printf("\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr2[i]);
}
printf("\n");
return 0;
}
测试
二、 数组大小是变量时,通过大括号赋值编译不通过
三、数组大小是变量时,数组元素的初始值是不确定的
示例代码
#include<stdio.h>
int main() {
int n, i;
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
测试
四、数组大小是变量时,只能后期通过赋值改变元素的值
示例代码
#include<stdio.h>
int main() {
int n, i;
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
for (i = 0; i < n; i++) {
arr[i] = i;
}
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}