【笔记-C语言】 数组

来源:互联网 发布:mac怎么结束应用程序 编辑:程序博客网 时间:2024/04/30 13:44

定义

a[]={}    a[]初始化后会跟据数据数量自动分配内存

a[10]

a[][10]={}

a[10][10]

 

int a[n];使用时下标从0开始到n-1一共n个元素

sizeof(a)sizeof(int)可计算出数组中元素的个数,在函数调用中,退化为指针,无法计算出数组元素个数。

初始化

==========一维数组

a[10]={1,2,3}        数量不足时补0

a[10]={[8]=5,[5]=3}      不需要考虑顺序

 

a[10]={0}        定义时进行清零

使用memset(a,0,sizeof(a))也可将数组清零

 

==========二维数组

a[m][n]={{n个数据},{}}

数组名

一维数组:a+3等价于a[3]的指针

二维数组:a+3等价于a[3][0]的指针,*(*(a+i)+j)相当于a[i][j]

 

 

数组名相当于一个地址,并不真实存在,二维数组名是一个特殊的二级指针(行指针)

数组名不可以使用++运算,因为数组名是常量

可将数组名当做一个指针传给函数

 

int a[10];

int *p=a,p移动1位为int大小,即为数组下一元素的位置

(&a+1)   &a移动一位的大小为sizeof(a)的大小

a&a值相同,意义不一样

p=a或者p=&a[0],p可以像a方式一样使用

原创粉丝点击