欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > C语言(20)----------->函数(3)

C语言(20)----------->函数(3)

2025/5/21 11:36:31 来源:https://blog.csdn.net/2303_77568009/article/details/146011088  浏览:    关键词:C语言(20)----------->函数(3)

本文介绍的是C语言中函数的声明与函数的调用,在VS2019环境下编程测试代码。

一、函数的调用与函数的声明

1.1单个文件下的函数的声明与函数的调用

函数的调用需要在函数的声明之后。否则会报出警告。

编译器编写代码的时候,会对代码进行扫描,从第一行往后面扫描。

例如:

这段代码是函数的调用在函数的声明之前的:

#include <stdio.h>int main()
{int year = 0;scanf("%d", &year);int ret = is_leap_year(year);if (ret == 1){printf("%d是闰年", year);}else{printf("%d不是闰年", year);}return 0;
}int is_leap_year(int fun1_year)
{if ((fun1_year % 4 == 0 && fun1_year % 100 != 0) || fun1_year % 400 == 0){return 1;}else{return 0;}
}

运行结果:

从运行结果中,我们可以看到编译器出现了警告。

加上函数的声明之后:

#include <stdio.h>//函数的声明
int is_leap_year(int fun1_year);int main()
{int year = 0;scanf("%d", &year);int ret = is_leap_year(year);if (ret == 1){printf("%d是闰年", year);}else{printf("%d不是闰年", year);}return 0;
}int is_leap_year(int fun1_year)
{if ((fun1_year % 4 == 0 && fun1_year % 100 != 0) || fun1_year % 400 == 0){return 1;}else{return 0;}
}

运行结果:

在之前的博客中,我们讲解函数的时候,将函数的定义放在主函数之前,并没有发出函数未定义的警告,这是为什么呢?

这是因为函数的定义是一种特殊的函数的声明。

 例如:

#include <stdio.h>//函数的定义
int is_leap_year(int fun1_year)
{if ((fun1_year % 4 == 0 && fun1_year % 100 != 0) || fun1_year % 400 == 0){return 1;}else{return 0;}
}int main()
{int year = 0;scanf("%d", &year);int ret = is_leap_year(year);if (ret == 1){printf("%d是闰年", year);}else{printf("%d不是闰年", year);}return 0;
}

运行结果:

提示框中并没有出现函数的未定义。

那为什么不像这样去声明函数呢?这是因为在某些开发中,函数的定义需要放在主函数的下面,关于这个后面的博客会对此有所介绍。

1.2多个文件下的函数的声明与函数的调用

在企业软件开发中,通常是多个程序员完成某个开发任务。每一个程序员负责一个模块。最后再拼接起来。对于这种情况,我们如何对函数声明和调用呢?

例如:

某公司开发一款计算器,计算机有四个功能:加法、减法、乘法和除法。

现在,程序员小A负责加法的程序设计,那它应该怎么做呢?

第一步,创建一个源文件(源文件通常用于函数的定义,实现函数的功能),在源文件中实现加法函数的功能。

(1)创建源文件

(2)命名源文件

 

(3)实现函数的功能

 

第二步,创建一个头文件(头文件通常用于函数的声明、类型的声明),在头文件中写下函数的声明。

(1)创建头文件

(2)命名头文件 

(3)函数的声明

 

 这些工作都完成之后,如何在主函数中使用这个函数呢?

(1)使用""包含头文件。(<>与""的区别此处不做详细介绍,""通常用于包含自己所写的头文件)

(2)函数的调用

 

参考源码:

Add.h

#pragma once//函数的声明
int Add(int x,int y);

Add.c

#define _CRT_SECURE_NO_WARNINGS 1//函数的定义
int Add(int x, int y)
{return x + y;
}

test.c 

#include <stdio.h>
#include "Add.h"int main()
{int a = 10;int b = 20;int ret = Add(a,b);printf("a+b=%d\n",ret);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词