关于数组初始化的一个问题

指定数组长度之后,如果采用int arr[10] = { 0 };这种方式来初始化,数组有10个元素,把第一个元素初始化为0,其余元素默认初始化为0

不指定数组长度,采用int arr1[] = { 0 };这种方式来初始化,这种创建数组的方式,不直接指定数组的元素个数,次数数组根据初始化的内容,来指定元素个数。因为{ }里面只有一个0,所以数组arr1里面只有1个元素

#include<stdio.h>
int main(){

	int arr[10] = { 0 };
	//这种创建数组的方式,是数组有10个元素,把第一个元素初始化为0,其余元素默认初始化为0
	int arr1[] = { 0 };
	//这种创建数组的方式,不直接指定数组的元素个数,次数数组根据初始化的内容,来指定元素个数
	//因为{ }里面只有一个0,所以数组arr1里面只有1个元素

	printf("%d\n", sizeof(arr));
	printf("%d\n", sizeof(arr1));

	return 0;
}

运行结果:

发布了54 篇原创文章 · 获赞 28 · 访问量 7276

猜你喜欢

转载自blog.csdn.net/jiangkun0331/article/details/105020048
今日推荐