数组作为参数
Coddy C 语言中的函数 课程的第 9 课,共 17 课。
函数也可以像其他变量一样接受数组作为参数。唯一的区别是,数组会以指针的形式传递给函数,而其他基本类型是按值传递的。
将数组传递给函数时,函数接收的是指向数组第一个元素的指针。
来看一个使用示例:
#include <stdio.h>
// 函数定义
void printArray(char *arr[]) {
for (int i = 0; i <= 3; i++) {
printf("%s ", arr[i]);
}
printf("\n");
}
int main() {
char *a[] = {"C", "Java", "React", "Python"};
// 调用函数
printArray(a);
return 0;
}
在 main 函数中,我们定义了一个简单的数组:
char *a[] = {"C", "Java", "React", "Python"};在 printArray 函数中,我们从 0 循环到 3,并打印每个值:
for (int i = 0; i <= 3; i++) {
printf("%s ", arr[i]);
}输出如下:
C Java React Python 注意:处理字符串时,我们需要明确使用星号(
*),告诉编译器每个字符串(例如,"Java")都是数组的一个元素。否则,编译器会将每个字符(例如,'J')视为一个元素。
挑战
简单编写一个名为 printDouble 的函数,该函数接收一个数字数组,将每个元素乘以 2,并将结果列表输出到屏幕上。
例如,给定以下输入:
2 6 8 10输出为:
4 12 16 20亲手试试
#include <stdio.h>
// 函数定义
int main()
{
// 不要修改这里
int nums[] = {10, 6, 22, 40, 1}};
// 调用函数
printDouble(nums);
return 0;
}C 语言中的函数中的所有课
自己练习: C 在线编译器