数组的概念:一组相同类型元素的集合
数组的初始化:在创建数组的同时给数组的一些内容一些合理初始值
不完全初始化:实际元素比[]中少,剩下的元素默认初始化为0
/ /[ ]可不放数字
/ /sizeof计算数组所占空间的大小,即元素个数+1个字节(\0占一个字符)
/ /strlen求字符串长度,即只针对字符串求长度
char arr1[]="abd";//元素为:a,b,c,\0
char arr2[]={'a','b','c'};//元素为:a,b,c
//arr1与arr2
arr1与arr2的区别:
1sizeof:arr1为4,arr2为3
2strlen:arr1为3,arr2为随机值(因为布置到再过多少个字符遇到\0)
一维数组的使用:下标引用操作符[ ],就是数组访问的操作符
//下标从0开始
//求数组元素的个数:
int sz=sizeof(arr)/sizeof(arr[0])
一维数组的储存:随着数组下标的增加,元素的地址也在有规律的递增,即数组在内存中是连续存放的
二维数组的创建和初始化
二维数组的创建与初始化:如:
int arr[3][4] = {1,2,3,4,5};
int arr[3][5] ={{1,2},{4,5}};
int arr[][3] = {{1,2,3},{2,3,4}};
*int arr[3][4] 的意思为3行4列
*int arr[3][4] = {1,2,3,4,5}中数组的元素按从左到右,从上到下依次排列
*int arr[3][5] ={{1,2},{4,5}}中的“1”“2”在第一行,“3”“4”在第二行,从左到右依次排列
*二维数组中的[ ],行(第一个[])中数字可以省略,列(第二个[])中数字不可以省略
二维数组的使用:也是通过下标的方式,从0开始;也是连续储存
*数组名是数组首元素地址
例外:1sizeof(数组名)时,数组名表示整个数组,sizeof(数组名)计算的是整个数组的大小,单位是字节
2&数组名 时,数组名代表整个数组,取地址取的是整个数组的地址
*此时打印出来的整个的数组的地址地址与数组首字母的地址一样
数组作为函数参数:
例:冒泡排列