数组总结

一维数组

1.数组的创建

在C中,几乎所有使用数组名的表达式中,数组名的值是一个指针变量,也就是数组第一个元素的地址。它的类型取决于数组元素的类型。

数组创建的方式:

type_t   array_name   [const_n];
//type_t 是指数组的元素类型
//const_n 是一个常量表达式,用来指定数组的大小

数组的创建:

int array1[5]; 
char array2[10];
float array3[20];
double array4[7];

2.数组的初始化

int array1[5] = { 1, 2, 3, 4, 5 };
int array2[5] = { 4, 5, 6 }; //不完整初始化,后两个元素初始化为0
int array3[] = { 11, 12, 13, 14, 15 };  //自动计算数组长度
	
//字符数组的初始化
char message1[] = { 'h', 'e', 'l', 'l', 'o',0 };
char message2[] = "hello";  // 初始化一个字符数组的元素
char *message3 = "hello";  //指针变量被初始化为指向这个字符串常量的存储位置

3.下标引用

除优先级之外,下标引用和间接访问完全相同。

//下标引用
array[count_n];  //下标在数组中选择一个特定的元素
//间接访问
*( array + [count_n]);  //访问它指向的那个数组元素

小例子:

int    arrary10] ;

int    ap = array + 2;       

在下面各个涉及ap的表达式中,看看你能不能写出使用array :     

apamay + 2   /   &array[2] 
*ap*(array+2)
ap[0]array[2]

ap+6

array+8  /   &array[8]
*ap+6array[2]+6
*(ap+6)array[8]
ap[6] array[8]
ap[-1]array[1]  
ap[9]错误

4.计算长度

计算数组的长度:公式:sizeof(数组名) / sizeof(数组类型);

sizeof(数组名): 得到这个数组占用内存的总长

例子:int array[10];

int size = sizeof(array) / sizeof(array[0]);

二维数组

1.初始化

int tow_dim1[2][3];
int tow_dim2[2][2] = { 1, 2, 3, 4 };
int tow_dim3[2][4] = {
	{ 11, 12, 13, 14 },
	{ 21, 22, 23, 24 },
};
	
// 自动计算长度,其他值初始化为0
int tow_dim4[][5] = {
	{ 11 },
	{ 21, 22, 23, 24 },
	{ 4, 12 },
};

2.下标

下标访问:

例如:

1.   int array[3][8];

直接访问操作:

2.  int array[2][8]

间接访问操作:

3.计算长度:

二维数组计算数: 每行的总长度 / 元素占用的字节

sizeof(二维数组名[0]) / sizeof(类型)

例: int nums[3][4];

int size = sizeof(nums[0]) / sizeof(int); //计算结果是4

二维数组计算数: 二维数组的总长度 / 每行的长度

sizeof(二维数组名) / sizeof(而数组名[0])

例: int nums[3][4];

int size = sizeof(nums) / sizeof(nums[0]); //计算结果是3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值