初阶 《函数》 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;
}
相关推荐
Tandy12356_10 分钟前
手写TCP/IP协议——实现ping的响应
c语言·网络·c++·网络协议·tcp/ip·计算机网络
六个九十度19 分钟前
用C语言把BCD编码的数字转换成普通16进制
c语言·bcd
历程里程碑1 小时前
破解三数之和:双指针高效解法
c语言·数据结构·c++·经验分享·算法·leetcode·排序算法
大头流矢1 小时前
《数据结构·排序·进阶:希尔、堆、快排核心解析》——为何希尔是插入进阶?堆排序时间复杂度的关键?
c语言·数据结构·算法
ha_lydms2 小时前
2、Spark 函数_a/b/c
大数据·c语言·hive·spark·时序数据库·dataworks·数据开发
Alex Cafu2 小时前
Linux网络编程2(HTTP 协议、IO 多路复用)
linux·c语言·网络·http
zore_c2 小时前
【C语言】排序算法——希尔排序以及插入排序 ——详解!!!
c语言·数据结构·c++·笔记·算法·排序算法·推荐算法
黎雁·泠崖2 小时前
C 语言动态内存管理高阶:柔性数组特性 + 程序内存区域划分全解
c语言·开发语言·柔性数组
永远前进不waiting11 小时前
C复习——1
c语言·开发语言
一路往蓝-Anbo12 小时前
【第13期】中断机制详解 :从向量表到ISR
c语言·开发语言·stm32·单片机·嵌入式硬件