数组

本文深入讲解了数组与变量的概念,包括数组的访问、初始化、局部与全局变量的区别,以及数组初始化的特殊情况。同时,探讨了如何正确使用数组,避免常见错误,如整体赋值的问题。

一些基本概念:

数组里的数据通过数组的下标访问。

初始化:定义的时候赋值叫初始化。

局部变量:定义在函数内部的变量。   全局变量:定义在函数外部的变量。

局部变量定义的时候如果没有初始化,那么它里面的值是个随机值(不是0)

聚合类型:1、数组     2、结构体

聚合类型初始化时,如果只初始化一部分,剩余部分为0.

数组初始化时可以不写长度。如:int drr[]={1,2,3,4,5}  如果不给值:int err[]这种写法是错误的。

定义数组时中括号里的值必须是常量表达式:例如int arr[n]//这种写法是错误的

将arr[i]里的值全部赋值为0,可以利用循环一个一个赋值

for(int i=0;i<10;i++)

{

arr[i]=0;

}

也可以单独写一个函数

void InitA(int arr[10])

{

for(int i=0;i<10;i++)

{

arr[i]=0;

}

}//有问题,数组的长度不能随意更改

//void InitArr(int arr[10])
void InitArr(int *p)
void InitArr(int *p,int len)增加一个参数len 由主函数传递len的值  len=sizeof(p)/sizeof(p[0])

{
	//for(int i=0;i<10;i++)
		int len=sizeof(p)/sizeof(p[0])//这里的长度等于1,P指的是数组的首地址,不是整个数组
		for(int i=0;i<len;i++)
	{
		p[i]=0;//可以把p就当成数组用*******
		
	}
}

*数组名在两种情况下表示整个数组(定义这个数组的同一个函数内部)除此以外数组名表示数组首元素的地址

printf("%d",sizeof(arr))表示整个数组的大小

1、求数组长度的标准公式:sizeof(arr)/sizeof(arr[0])

2、&arr+1对数组名取地址加1,这时候会加整个数组的长度

一维数组,数组名表示数组的首元素地址  int*p=arr

将brr数组的值赋值给crr    crr=brr//错误   数组不允许整体赋值。只有初始化时才能整体赋值。并且这时候的数组名表示数组元素首地址,是个指针

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值