C 语言函数完全指南:创建、调用、参数传递、返回值解析
C 语言中的函数
函数是一段代码块,只有在被调用时才会运行。
您可以将数据(称为参数)传递给函数。
函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用。
预定义函数
事实证明,您已经知道什么是函数了
例如,main()
是一个函数,用于执行代码,printf()
也是一个函数,用于向屏幕输出/打印文本:
int main() { printf("Hello World!"); return 0; }
创建函数
要创建(通常称为声明)您自己的函数,请指定函数的名称,然后是括号 ()
和花括号 {}
:
语法:
void myFunction() { // 要执行的代码 }
示例解释:
myFunction()
是函数的名称void
意味着该函数没有返回值- 在函数内(主体),添加代码定义函数应该做什么
调用函数
声明的函数不会立即执行。它们被“保存以便以后使用”,并在被调用时执行。
要调用函数,请编写函数的名称,后跟两个括号 ()
和分号 ;
在以下示例中,当调用 myFunction()
时,它用于打印文本(操作):
// 创建一个函数 void myFunction() { printf("我刚被执行了!"); } int main() { myFunction(); // 调用函数 return 0; } // 输出 "我刚被执行了!"
函数可以被多次调用:
void myFunction() { printf("我刚被执行了!"); } int main() { myFunction(); myFunction(); myFunction(); return 0; } // 我刚被执行了! // 我刚被执行了! // 我刚被执行了!
C 语言中的函数参数
参数和参数
可以通过参数将信息传递给函数。参数在函数中充当变量。
参数在函数名后,括号内指定。您可以添加任意数量的参数,只需用逗号分隔即可:
语法:
returnType functionName(parameter1, parameter2, parameter3) { // 要执行的代码 }
以下函数接受一个名为 name
的字符串参数。当调用该函数时,我们会传递一个名字,用于在函数内部打印 “Hello”
和每个人的名字。
void myFunction(char name[]) { printf("Hello %s\n", name); } int main() { myFunction("Liam"); myFunction("Jenny"); myFunction("Anja"); return 0; } // Hello Liam // Hello Jenny // Hello Anja
当参数传递给函数时,它被称为参数。因此,在上面的示例中:name
是参数,而 Liam、Jenny
和 Anja
是参数。
多个参数
在函数内,您可以添加任意数量的参数:
void myFunction(char name[], int age) { printf("Hello %s. You are %d years old.\n", name, age); } int main() { myFunction("Liam", 3); myFunction("Jenny", 14); myFunction("Anja", 30); return 0; } // Hello Liam. You are 3 years old. // Hello Jenny. You are 14 years old. // Hello Anja. You are 30 years old.
请注意,当您使用多个参数时,函数调用必须具有与参数数目相同数量的参数,并且参数必须按相同顺序传递。
将数组作为函数参数传递
您还可以将数组传递给函数:
void myFunction(int myNumbers[5]) { for (int i = 0; i < 5; i++) { printf("%d\n", myNumbers[i]); } } int main() { int myNumbers[5] = {10, 20, 30, 40, 50}; myFunction(myNumbers); return 0; }
示例解释
函数 (myFunction
) 以一个数组作为参数 (int myNumbers[5]
),并使用 for
循环遍历数组元素。
当在 main
中调用函数时,我们会传递 myNumbers
数组,它会输出数组元素。
请注意,当您调用函数时,只需在将它作为参数传递时使用数组名称即可 (myFunction(myNumbers)
)。但是,在函数参数中需要完整的数组声明 (int myNumbers[5]
)。
返回值
以前的示例中使用的 void
关键字表示函数不应返回值。如果想要函数返回一个值,您可以使用数据类型(例如 int
或 float
等)代替 void
,并在函数内部使用 return
关键字:
int myFunction(int x) { return 5 + x; } int main() { printf("Result is: %d", myFunction(3)); return 0; } // 输出 8 (5 + 3)
此示例返回具有两个参数的函数的总和:
int myFunction(int x, int y) { return x + y; } int main() { printf("Result is: %d", myFunction(5, 3)); return 0; } // 输出 8 (5 + 3)
您还可以将结果存储在变量中:
int myFunction(int x, int y) { return x + y; } int main() { int result = myFunction(5, 3); printf("Result is = %d", result); return 0; } // 输出 8 (5 + 3)
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)