一.数组传参
想要在函数中传递数组,需要传递数组的长度,因为在编译器中只会把数组名当作一个指针类型的变量,不会算长度
一.整型数组
1.整型数组如何传参:
数组传参需要传递数组名(数组首元素地址)以及数组的长度,用sizeof获取长度会更加灵活
2.整型数组作为参数传参
- 形参能不写成数组形式
- 实参能不能传递数组过去)
- 数组做函数参数的时候,数组会退化成指针
3.封装函数接收数组的形参
- 函数类型 函数名( 数据类型 数组名【】,以及数组长度)
- 在封装的函数中修改传递过来的值,不同过int型返回值或者指针,主函数是不能拿到封装函数内修改后的值
数组传参示例:
二.字符型一维数组
字符型一维数组 — 用来存放一个字符串
1.字符型数组如何传参:
字符型数组传参只需要传递数组名(数组首元素地址),字符型数组自带 ’\0‘ 作为结束标志,所以不需要长度来判断(如果需要长度,则用strlen获取)
2.字符型数组作为参数传参
- 形参能不写成数组形式,可以写成指针形式
如 char *str, char *str1
- 实参能不能传递数组过去),只传递数组名
- 数组做函数参数的时候,数组会退化成指针
3.封装函数接收数组的形参
- 函数类型 函数名(数据类型 数组名【】)
- 函数内部修改数组里面的字符,主函数里原始字符数组的值会同步改变
代码示例
用函数形式写字符型数组的函数
三.二维整型数组
二维数组的本质 是一维数组的一维数组
二维整型数组如何传参
1.必须传递 除第一维以外所有维度的长度,第一维可以不写,例如列数不能省略(传递的时候必须固定列数),行数可以省略
2.二维数组退化后是行指针,编译器必须知道一行有多少个元素,才能算地址
3.传递的思想基本与一维整型数组一致
代码示例
以函数形式实现二维整型数组遍历