将数组传递给 C 中的函数
在 C 中,数组可以通过引用或值传递给函数。但是,数组与常规变量不同,因为您不能简单地将数组名称传递给函数并将其视为特定类型的单个元素。相反,数组名称被视为指向数组第一个元素的指针。
因此,当您将函数参数声明为数组时,实际上是在声明指向该类型元素的指针。例如,以下函数声明声明一个函数,该函数接受一个 int 数组和一个表示数组长度的整数:
void printarray(int arg[], int length);
当从 main 函数调用 printarray 函数时,数组的名称作为参数传递。数组的名称指的是数组第一个元素的地址。这相当于传递一个指向数组第一个元素的指针。
在下面的代码中,变量firstarray是一个由三个整数组成的数组。变量 secondaryarray 是一个由五个整数组成的数组。 printarray 函数被调用两次,一次使用第一个数组参数,一次使用第二个数组参数。第一个数组参数的长度为 3,第二个数组参数的长度为 5。
int firstarray[] = {5, 10, 15}; int secondarray[] = {2, 4, 6, 8, 10}; printarray(firstarray, 3); printarray(secondarray, 5);
在 printarray 函数中,arg 参数是指向传入数组的第一个元素的指针。 length参数是传入数组的长度。printarray函数打印出数组元素的值。
void printarray (int arg[], int length) { for (int n = 0; n < length; n++) { cout << arg[n] << " "; } cout << "\n"; }
代码的输出如下如下:
5 10 15 2 4 6 8 10
以上是C 中数组如何传递给函数?的详细内容。更多信息请关注PHP中文网其他相关文章!