没有合适的资源?快使用搜索试试~ 我知道了~
jianhuisu#C#头文件的由来以及使用1
需积分: 0 0 下载量 188 浏览量
2022-07-25
14:28:11
上传
评论
收藏 4KB MD 举报
温馨提示
试读
这是很麻烦的,而且是重复的代码总是应该尽量避免的.所以衍生出了头文件的概念, 这样在main.c中只需include这个头文件就可以了,而不需要写三个函数声明.
资源推荐
资源详情
资源评论
## 头文件的由来以及使用
main.c
#include
int a, b = 1;
// 标注1
extern void push(char);
extern char pop(void);
extern int is_empty(void);
int main(void)
{
push('a');
push('b');
push('c');
while(!is_empty())
{
putchar(pop());
}
putchar('\n');
return 0;
}
stack.c
char stack[512];
int top = -1;
void push(char c)
{
stack[++top] = c;
}
char pop(void)
{
return stack[top--];
}
int is_empty(void)
{
return top == -1;
}
标注1:
我们可以把这三条声明理解为一个占位符号 ,在链接阶段 ,Linker Editor会补充占位符所代表地址 ,每一个相对独立的程序都要为引用的外部符号提前声明占位符号。
比如main.c中使用stack.c中的pop/push/is_empty函数,需要在main.c中提前声明,然后才可以使用
extern void push(char);
extern char pop(void);
extern int is_empty(void);
实际开发中,使用这个模块(即使用stack.o目标文件中符号)的每个程序文件都要写三个函数声明,假设又有一个foo.c也使用这个模块,main.c和foo.c中各自要写三个函数声明�
点击阅读更多
资源评论
普通网友
- 粉丝: 17
- 资源: 319
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python39.dll
- 【Matlab 六自由度机器人】Fixed Angles(固定角度) 和 Euler Angles(欧拉角) 之间的区别
- BMSP430工程PPT说明书.zip
- FlinkFlinkF
- 《计算机网络-自顶向下方法》答案
- 基于pyqt5框架开发的demo项目 全栈开发,短小精悍,入门学习,上手简单
- 国内IP地址大全 站长资源 访问IP设置 Order allow,deny 使用方法
- 【JavaScript实现点击鼠标出现爱心特效脚本】直接引入index.html文件可用!!!
- OPC Core Components Redistributable (x86).msi
- 一套基于Python的交易量化框架,详细复现步骤
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功