初阶 《函数》 6. 函数的声明和定义

6. 函数的声明和定义

6.1 函数声明

  1. 告诉编译器有一个函数叫什么、参数是什么、返回类型是什么。但是具体是不是存在,函数声明决定不了。
  2. 函数的声明一般出现在函数的使用之前,要满足先声明后使用。
  3. 函数的声明一般要放在头文件中
c 复制代码
int main(void)//明确的说明,main函数不需要参数;本质上main函数是有参数的
{
	return 0;
}

int main(int argc, char* argv[], char* envp[])//表示main函数有3个参数
{
	return 0;
}
c 复制代码
#include <stdio.h>
int Add(int a, int b);
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int ret = Add(a, b);
	printf("%d\n", ret);
	return 0;
}

int Add(int a, int b)
{
	return (a + b);
}

6.2 函数定义

函数的定义是指函数的具体实现,交待函数的功能实现。

头文件

add.h

c 复制代码
#pragma once
int Add(int a, int b);

源文件

add.c

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
int Add(int a, int b)
{
	return (a + b);
}

test.c

c 复制代码
#include <stdio.h>
#include "add.h"
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int ret = Add(a, b);
	printf("%d\n", ret);
	return 0;
}
相关推荐
一路往蓝-Anbo2 小时前
C语言从句柄到对象 (七) —— 给对象加把锁:RTOS 环境下的并发安全
java·c语言·开发语言·stm32·单片机·嵌入式硬件·算法
一路往蓝-Anbo2 小时前
C语言从句柄到对象 (八) —— 当对象会说话:观察者模式与事件链表
c语言·开发语言·数据结构·stm32·单片机·观察者模式·链表
s43 小时前
Python安装在C盘后如何移到D盘
c语言·windows·python
Herbert_hwt4 小时前
C语言位操作符详解:从入门到实战应用
c语言·算法
唐装鼠5 小时前
C语言syslog()函数(deepseek)
c语言·开发语言·syslog
Aaron15886 小时前
三种主流接收机架构(超外差、零中频、射频直采)对比及发展趋势浅析
c语言·人工智能·算法·fpga开发·架构·硬件架构·信号处理
Dillon Dong16 小时前
从C到Simulink: 使用STM32硬件支持包后为什么还不支持PC仿真ARM建模程序
c语言·stm32·simulink
Dillon Dong21 小时前
从C到Simulink: ARM Compiler 5 (RVDS) 为什么simulink 不能使用arm编译
c语言·arm开发·simulink
黎雁·泠崖21 小时前
Java底层探秘进阶:JIT汇编逐行拆解!Java方法栈帧与C语言深度对标
java·c语言·汇编
无限进步_1 天前
【C语言】用队列实现栈:数据结构转换的巧妙设计
c语言·开发语言·数据结构·c++·链表·visual studio