数组的初始化及其相关操作

#include<stdio.h>
void main(){
	//完全初始化
	int a[5] = {1,2,3,4,5};
    //不完全初始化 
	int b[5] = {1,2,3};//未被初始化的元素默认为0
    //数组清零
	int c[5] = {0};
	
	//错误写法
	int d[5];
//	d[5] = {1,2,3,4,5};//错误,只有在定义数组的时候才可以整体赋值
	//其他情况下整体赋值都是错误的,而且a[5]下标也越界了
	
	int e[5]={1,2,3,4,5};
	int f[5];//如果这样进行for输出的话,那么每个元素都将是垃圾数字,随机数字 
    int i; 
	//如果要把e数组中的元素全部复制为b数组
	  //错误的写法
//	  f=e;//error 资料上显示是不可以的,但是c语言测试后是可以的 在java中是正确的
	  for(i=0;i<5;i++)
	  	printf("%d\n",f[i]); 
	  //正确的写法
	  for(i=0;i<5;i++)
	  	f[i] = e[i]; 
	
	//二维数组的初始化
	int aa[3][3] = {1,2,3,4,5,6,7,8,9};//第一种初始化
	int bb[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} };//第二种初始化  
	
	/**
		是否存在多维数组?
		不存在?
		因为内存是线性唯一的
		n维数组可以当做每个元素都是n-1维数组的一维数组
		 比如:
		 int[3][4]
		 	该数组是含有3个元素的一维数组
			只不过每个元素都可再分为4个小元素
		 int[3][4][5];
		 	该数组是含有3个元素的一维数组
			只不过每个元素都是4行5列的二维数组 
	*/ 
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值