在函数中返回数组
在 C 中,数组不是一等对象,这意味着它们不能直接从函数返回。但是,在函数中使用数组有两种常见方法:
方法 1:通过引用传递
如问题所示,可以将数组传递给一个函数作为引用,允许函数修改原始数组。然后,该函数可以返回 void 或其他数据类型,同时仍然可以访问更新后的数组。
方法 2:返回指针
或者,可以返回数组从函数作为指向其第一个元素的指针。这本质上与引用传递相同,因为函数仍然可以通过指针访问和修改原始数组。
实现示例:
int* fillArray(int arr[], int size) { for (int i = 0; i < size; ++i) { arr[i] = i + 1; } return arr; } int main() { int arr[5]; int* result = fillArray(arr, 5); // Access and print the modified array through the pointer for (int i = 0; i < 5; ++i) { cout << result[i] << " "; } cout << endl; return 0; }
中在此示例中,fillArray 函数采用数组引用和大小作为输入,并返回指向已修改数组的第一个元素的指针。主函数调用该函数并将结果存储在指针中。然后它通过该指针访问修改后的数组。
以上是如何在 C 函数中返回和修改数组?的详细内容。更多信息请关注PHP中文网其他相关文章!