四时宝库

程序员的知识宝库

C语言中数组初始化的几种情况(c语言数组初始化格式)

我们在使用普通变量时,需要对普通变量进行赋值操作,在数组使用时同样需要初始化,不同的初始化方式会有不同的运行结果,如果初始化的项数和数组个数不同会有什么结果?以下面代码为例作为演示,编译器使用小熊猫C++,版本0.14.0。

#include<stdio.h>
#define SIZE 4
int main(void){
	int arr[SIZE];
	int i;	
	for(i=0;i<SIZE;i++){
		printf("%2d%14d\n",i,arr[i]);
	}
	return 0;
}

一、 不初始化

如果不对数组进行初始化,数组中元素的值和普通变量类似,存储的是垃圾值。

int arr[SIZE];不进行初始化,运行时将各元素赋值为垃圾值


二、 部分初始化

部分初始化,剩余的元素会被初始化为0。

int arr[SIZE] = {100};将第1个元素初始化为100,剩余的元素自动初始化为0。


三、 初始化项数多于数组元素个数

初始化项数多于数组元素个数,编译器会给出警告有多余的初始化数组元素

int arr[SIZE] = {100,200,300,400,500};编译器给出警告:[警告] excess elements in array initializer。

在运行时,多余的数组元素不能被加入数组。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接