资讯详情

为什么C语言中要学函数?

📅 2026/10/8 2:05:16 | 华诺云谱 👁 阅读
为什么C语言中要学函数?
文章目录前言一、函数是什么有什么用二、函数基本语法三、函数的声明与定义四、参数的传递五、四类函数按有无参数/返回值六、总结前言函数是C程序的基本组成单元也是模块化编程的核心。本文从“是什么、为什么用、怎么写”三个维度系统讲解C语言函数的定义、声明、参数传递、核心知识点配合可运行代码与避坑指南适合零基础入门和复习巩固。一、函数是什么有什么用函数是什么函数Function​ 是一段完成特定功能的、可重复调用的代码块。在C语言中函数由函数名、参数列表、返回类型、函数体组成。程序从main 函数开始执行通过调用其他函数完成具体任务。1类比函数就像工厂里的一台机器——你放入原材料参数机器加工后产出产品返回值。2.函数有什么用函数是将一段实现特定功能的代码封装起来给它起一个名字。程序可以通过函数名反复调用这段代码从而实现代码的重复使用提高程序的可读性和可维护性。1没有函数的话你每想算一次加法都得重新写一遍加法的步骤。有了函数写一次以后随时喊它来干活。2有了函数后可以将重复的逻辑进行打包起个变量名字想用时就喊他。这样可以减少大量重复逻辑的代码改公式时只需要修改函数一处逻辑清晰易懂。二、函数基本语法1 .通用格式代码如下示例返回类型 函数名(参数列表){// 函数体return返回值;// 若返回类型不是 void一般要有 return2.完整示例代码如下示例#includestdio.hintadd(inta,intb){intsumab;returnsum;}intmain(void){intresultadd(3,5);printf(3 5 %d\n,result);return0;}3.无返回值函数代码如下示例voidprint_hello(void){printf(Hello, C Functions!\n);}三、函数声明与定义1.定义Definition包含函数体的完整实现intmul(inta,intb){returna*b;}2. 声明/原型Declaration / Prototype告诉编译器“有这个函数、长什么样”不包含函数体intmul(inta,intb);/* 函数声明 */3. 声明与定义的配合#includestdio.hintmul(inta,intb);/* 函数声明 */intmain(void){printf(4 * 5 %d\n,mul(4,5));return0;}intmul(inta,intb)/* 函数定义 */{returna*b;}规则如果函数在 main 之后定义必须在调用前声明否则编译器会报错。四、参数的传递1 值传递默认方式C语言所有参数传递都是值拷贝——把实参的值复制一份给形参函数内修改形参不影响外部voidincrement(intx){xx1;printf(函数内 x %d\n,x);}intmain(void){inta5;increment(a);printf(函数外 a %d\n,a);/* 仍是5 */return0;}输出函数内 x 6函数外 a 52 指针传递模拟“引用传递”要修改外部变量必须传地址voidincrement(int*x){*x*x1;printf(函数内 *x %d\n,*x);}intmain(void){inta5;increment(a);printf(函数外 a %d\n,a);/* 变成6 */return0;}3 经典案例交换两个数voidswap(int*p,int*q){inttmp*p;*p*q;*qtmp;}intmain(void){intx10,y20;printf(交换前: x%d, y%d\n,x,y);swap(x,y);printf(交换后: x%d, y%d\n,x,y);return0;}五、四类函数按有无参数/返回值1. 无参无返回语法示例void log_start(void)说明只执行操作不接收参数也不返回结果代码示例voidlog_start(void){printf( 程序启动 \n);}2. 有参无返回语法示例void print_sum(int a, int b)说明接收参数进行处理无返回值代码示例voidprint_sum(inta,intb){printf(%d %d %d\n,a,b,ab);}3. 无参有返回语法示例int get_default(void)说明不接收参数但返回处理结果代码示例intget_default(void){return100;}4. 有参有返回语法示例int max(int a, int b)说明最常用形式接收参数并返回结果代码示例intmax(inta,intb){returnab?a:b;}六、 总结总结C语言函数是模块化编程的基石。了解定义/声明、值传递就能初步了解C语言函数的核心为接下来更复杂的函数进行铺垫。多写多练从模仿到独立设计逐步建立编程思维。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑