目录
一、一维数组
1、一维数组的创建
2、一维数组的初始化
3、一维数组的使用
4、一维数组在内存中的存储
二、二维数组
1、二维数组的创建
2、二维数组的初始化
3、二维数组的使用
4、二维数组在内存中的存储
三、数组作为函数参数
冒泡排序思想
四、思考:数组名到底是什么?
一、一维数组
1、一维数组的创建
数组是一组相同类型元素的集合。 数组的创建方式:
type_t arr_name [const_n]; //type_t 是指数组的元素类型 //arr_name是数组名 //const_n 是一个常量表达式,用来指定数组的大小
数组创建,[ ]必须为常量表达式。
//数组类型 数组名 [数组元素个数] = {初始化} int arr [10] = { 0 };
2、一维数组的初始化
数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值。
int arr1[10] = { 1,2,3 }; //不完全初始化 int arr2[] = { 1,2,3,4 }; int arr3[5] = { 1,2,3,4,5 }; //完全初始化 char arr4[3] = {'a ', 98,'c'}; char arr5[] = { 'a ', ' b', 'c ' }; char arr6[] = "abcdef";
这里我们要注意区分
char ch2[] = { 'b','i','t' }; char ch4[] = "bit";
1,strlen 和 sizeof没有什么关联
2.strlen 是求字符串长度的-只能针对字符串求长度 ,求字符串的长度-'\0’之前的字符个数- -库函数 - 使用得引头文件
3.sizeof 计算变量、数组、类型的大小 - 单位是字节 - 操作符
3、一维数组的使用
对于数组的使用我们之前介绍了一个操作符︰[ ]下标引用操作符。它其实就数组访问的操作符。我们来看代码︰
#include <stdio.h> //打印数组 int main() { int arr[10] = { 0 };//数组的不完全初始化 //计算数组的元素个数 int sz = sizeof(arr) / sizeof(arr[0]); //对数组内容赋值,数组是使用下标来访问的,下标从0开始。所以: int i = 0;//做下标 //输出数组的内容 for (i = 0; i < sz; ++i) { printf("%d ", arr[i]); } return 0; } //打印字符串 int main() { char arr[] = "abcdef";//[a][b][c][d][e][f][\0] //printf("%c\n", arr[3]); int i = 0; int len = strlen(arr); for(i=0; i<len; i++) { printf("%c ", arr[i]); }