重新学习C语言day06
文章目录
- 数组
- 1、数组是一组相同类型元素的集合
- 2、数组的创建方式:
- 3、数组的初始化方式:
- 4、计算数组长度
- 5、数组的下标从0开始
- 6、一维数组在内存中的存储
- 7、二维数组的创建和初始化
- 8、二维数组在内存中的存储
- 9、数组作为函数参数
- 10、数组名是数组首元素的地址
数组
1、数组是一组相同类型元素的集合
2、数组的创建方式:
type_t arr_name [const_n]; //const_n为常量
3、数组的初始化方式:
完全初始化:罗列所有元素
不完全初始化:罗列前n个,其余为0
4、计算数组长度
sizeof(arr) / sizeof(arr[0])
5、数组的下标从0开始
6、一维数组在内存中的存储
1)连续存放
2)地址逐渐递增
7、二维数组的创建和初始化
1)数组创建
int arr[3][4] //3行4列
2)数组初始化
int arr[3][4] = {1,2,3,4};
int arr[3][4] = {{1,2},{3,4}};
3)可省略行不可省略列
8、二维数组在内存中的存储
同一维数组,跨行地址依旧连续
9、数组作为函数参数
形参有两种形式:数组形式和指针形式
举例:冒泡排序
void Bubble_sort(int arr[], int sz) //形参arr本质是指针
{
int i = 0;
int j = 0;
for (i = 0; i < sz - 1; i++)
{
for (j = 0; j < sz - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = 0;
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{
int arr[] = {9, 5, 8, 7, 6, 2, 1, 4};
int sz = sizeof(arr) / sizeof(arr[0]);
Bubble_sort(arr, sz);
return 0;
}
10、数组名是数组首元素的地址
但是有2个例外:
1)sizeof(数组名) ---->数组名表示整个数组 ---->计算的是整个数组的大小单位是字节
2)&数组名 ----->数组名表示整个数组 ----->取出的是整个数组的地址(数值和首元素地址相同)