📎

Functions

Parameter passing

  • 函数定义时的参数被称为形式参数(简称形参)
  • 函数调用时的参数被称为实际参数(简称实参)
参数传递:实参形参 单向传递
在参数传递过程中,实参把值复制给形参。
形参和实参一一对应:数量一致,类型一致,顺序一致
形参:变量,用于接受实参传递过来的值
实参:常量、变量或表达式
 

Formal parameter representation

二维数组的形参

1.指定行和列
2.指定列
3.数组指针
notion image
4.数组指针的数组(其实就是3的复杂化 并无实际区别
https://blog.csdn.net/kangxidagege/article/details/79475537中笔者又发现了如下方法
函数 func 的参数类型char (*str[])[5]
notion image
  • 函数 func 的参数类型char (*str[])[5]
    • 这是一个指向包含 5 个 char 的数组的指针数组。换句话说,str 是一个数组,每个元素都是指向包含 5 个字符的数组的指针。
  • 二维数组的类型char str_data[3][5]
    • 这是一个包含 3 个字符串,每个字符串最多 4 个字符(加上终止符 \0)的二维数组。类型为 char [3][5]
为了将二维数组与 func 函数的参数类型匹配,需要创建一个指针数组,该指针数组的每个元素指向 str_data 的各个行。
5.二级指针
但这种方法通常用于处理动态分配的数组,其内存布局与静态二维数组不同。
6.指针数组(与5等价

函数的形参

不定参数函数的形参

C语言允许函数接受可变数量的参数。这通常用于实现类似printf的函数。使用不定参数需要包含<stdarg.h>头文件,并使用相关宏处理参数列表。
在上述例子中,printNumbers函数可以接受任意数量的整数参数。
Loading...