11.25
数组--一组由相同类型元素组成的集合
一. 一维数组
1.一维数组的创建:int a[10];
2.一维数组的标准格式:type_t arr_name[const n]
type_t : 数组的元素类型
arr_name : 数组的名字
[const_n] : 数组的大小,也就是元素个数
const_n : 常量表达式
3. int arr[a]; //变长数组,仅在支持C99语法的编译器中适用。
4. 一维数组初始化
int arr[8]={1,2,3,4,5,6,7,8}; //完全初始化
int arr2[8]={1,2,3,4,5}; //不完全初始化,后续会补0
int arr3[8]={'1','2','3'}; //不完全初始化,后续依旧补0;
int arr4[]={1,2,3,4,5}; //会根据给的元素,确定常量的值
char ch1[5]={'m','j','u'}; = char ch2[5]={"mju"}; //因为两者均规定了元素个数
char ch3[]={'m','j','u'}; //-->mju 故打印出是随机值
char ch4[]={"mju"};//-->mju/0
注意:字符串的结束符是\0;
strlen求的是字符串的大小,不包括\0;
sizeof求的是数组所占内存的字节数
5.一维数组的使用:下标操作符[],实际上就是数组访问操作符
6.数组大小的计算:int sz=sizeof(arr)/sizeof(arr[1]);
7.数组在内存中的存储方式:连续存放,且随着下标的增长,地址也是从低到高。
二. 二维数组--平面数组,前行后列
1. 二维数组的创建:int arr[2][3]; char arr[3][5];
2.二维数组的初始化:int arr1[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int arr2[3][4]={1,2,3,4,5,6,7,8};
int arr3[3][4]={{1,2},{3,4},{5,6}};
注意:二维数组的创建,行可以不写,但列一定要写
数组有两种情况:1.sizeof(数组名),计算的是整个数组的大小
2.&数组名,取出来的是整个数组的地址
3.数组名作为实参进行传参的时候 ,传递的实际上是首元素的地址
补充:二维数组的冒泡排序