概要:
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;
}