C语言数组部分小总结

数组,即一组相同类型元素的集合。

数组的创建:

1.    一维数组:type_t arr_name [const_n],其中,type_t是指数组的元素类型,arr_name是指数组的名字,const_n是一个常量表达式,用来指定数组的大小,注意,[ ]内一定要是一个常量或常量表达式,不能使变量。

2.    二维数组:二维数组的创建于一维数组类似,只是多了一个维度。即type_t arr_name [const_n][const_n]。同样的type_t是数组的元素类型,arr_name是指数组的名字,const_n是常量表达式,并且必须是常量或常量表达式,不能是变量。

数组的初始化:指在创建数组的同时给数组的内容一些合理初始值。
1.一维数组:eg:int arr[10]={1,2,3}; char arr1[]=”abcdrf”;。注意,数组在创建的时候想不指定数组确定的大小就得初始化。数组的元素个数根究初始化的内容来确定。eg:int arr[]={1,2,3};此时数组的元素个数就是3个。

2.二维数组:eg:int arr[3][4]={1,2,3,4}; intarr[3][4]={{1,2},{3,4}};int arr[][4]={{2,3},{4,5}};注意:1初始化内部的花括号,不括就不括,要括就全括。2二维数组初始化行元素个数可以不写,但列元素个数必须得写。

数组在内存中的存储:不管是一维数组还是二维数组,在内存中都是连续存放的。随着数组下标的增长,数组元素的地址也在有规律的递增。

数组名:

1.    数组名代表整个数组只有两种情况:第一种是当数组名单独放在操作符sizeof()中,此时数组名代表整个数组。第二种情况是当数组名前面加取地址操作符,eg:&arr;,此时数组名代表整个数组。其他情况,数组名都代表的是该数组的首元素。

2.    二维数组数组名代表整个数组也只有两种情况,即数组名单独放在操作符sizeof()中和数组名前面加取地址操作符。其他情况,二维数组的数组名都代表该二维数组的第一行数组元素。

3.    二维数组的行数组相当于一个一维数组。行数组的数组名一般情况也只代表首元素。除了单独放在操作符sizeof()中和前面加取地址操作符。


数组作为函数参数:
数组作为函数参数,不会把整个数组传递过去,传递给形参的是数组名,所以函数接收的是数组名,即数组首元素的地址。所以即使在函数参数部分写成数组的形式,依然表示的是一个指针。


指针访问数组:
*arr*(arr+0)arr[0]三个表达式都表示的是数组首元素的值。
arr[i]*(arr+i)*(i+arr)i[arr]四个表达是都表示的是数组第i个元素的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值