初阶 《函数》 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;
}
相关推荐
程序猿阿森1 小时前
C语言预处理完全指南:宏定义、条件编译与头文件规范,一篇搞懂工程化编程
c语言·c++·编译
wuminyu9 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
Blockbuater_drug10 小时前
FreeSASA: 开源 SASA 计算库,pip 一条命令替代 NACCESS
c语言·开源·sasa·freesasa·溶剂可及表面积·naccess·python api
Logic10111 小时前
C语言/数据结构位运算题解:异或XOR找出蛋糕订单中的“VIP独特口味“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic10112 小时前
C语言/数据结构位运算题解:异或XOR找出飞行棋中的“独特颜色棋子“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic10113 小时前
C语言/数据动态规划题解:翻转一次子数组后的最大子数组和——四状态DP(O(n)时间O(1)空间)
c语言·数据结构·动态规划·时间复杂度·算法题·状态机dp·最大子数组和
Logic10115 小时前
C语言/数据结构字符串题解:找出DNA序列中未配对的独特序列——排序+遍历(O(nlogn))
c语言·数据结构·字符串·数组·排序·时间复杂度·算法题
Navigator_Z16 小时前
LeetCode //C - 1248. Count Number of Nice Subarrays
c语言·算法·leetcode
是隼人16 小时前
buuctf-pwn picoctf_2018_shellcode(ret2shellcode)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
潜创微科技16 小时前
IT6520:USB-C 转 MIPI 高集成控制器,DP 1.4a 转 MIPI 单芯片搞定 4K120 显示
c语言·开发语言·低延迟·掌机·联阳