windows下C语言头文件的运用
头文件 singnext.dingswords
printf("终止我每丝呼吸,让心灵穿透所有的秘密\n");
头文件 singtocj.h
printf("当无数的日月沧桑后,你会在谁身旁?\n");
头文件 myhead.h
#include <stdio.h>
#include <Windows.h> int a = ;
int b = ;
头文件 calresult.h
# include "myhead.h" float c;
c = (a + b)*0.035;
主程序文件
#include <stdio.h>
#include <Windows.h> void main()
{
#include "singnext.dingswords"
#include "singtocj.h"
//#include "myhead.h"
#include "calresult.h"
printf("小烤肠快回来吧,老张决定这个月发你工资%d,另外还有你比赛夺冠的奖金%d\n", a, b);
printf("共计%d\n", a+b);
printf("另外还有%f元努力训练奖励\n", c);
getchar();
}
点评,以上代码显示了头文件(xx.h)文件的调用,这很像python from xx.py import xxx的模块调用过程。需要注意的是头文件貌似不支持自定义函数;声明 #include “你定义的头文件”可以出现在程序文件的任何位置,就像主程序文件使用的那样。
头文件和主程序文件部署目录如下图:
运行结果
陷阱:头文件重复引用
假如对主程序文件作如下更改----第8行引入头文件myhead.h:
#include <stdio.h>
#include <Windows.h> void main()
{
#include "singnext.dingswords"
#include "singtocj.h"
#include "myhead.h"
#include "calresult.h"
printf("小烤肠快回来吧,老张决定这个月发你工资%d,另外还有你比赛夺冠的奖金%d\n", a, b);
printf("共计%d\n", a+b);
printf("另外还有%f元努力训练奖励\n", c);
getchar();
}
则会报错提示多次初始化,其原因在于calresult.h引入了myhead.h主程序再次引用构成了对文件中变量的多次引用!解决方案是注释掉上述代码第8行
windows下C语言头文件的运用的更多相关文章
- 【CUDA】Windows 下常用函数头文件
CUDA 函数 头文件 __global__ __device__ #include <cuda_runtime.h> threadIdx #include <device_laun ...
- Linux下C语言多文件的编译以及makefile的应用
1.关于编译和链接 一般来说,无论是C.C++,首先要把源文件编译成中间代码文件,在Windows下也就是.obj文件,UNIX下是.o文件,即Object File,这个动作叫做编译(compile ...
- C语言头文件到底是什么?
C语言头文件到底是什么? 在C语言学习的时候总是会引入这样的语句#include <stdio.h>,书上解释说把stdio.h这个文件的全部内容直接插入到这个位置,然后再经过C语言的编译 ...
- c语言头文件中定义全局变量的问题
c语言头文件中定义全局变量的问题 (转http://www.cnblogs.com/Sorean/) 先说一下,全局变量只能定义在 函数里面,任意函数,其他函数在使用的时候用extern声明.千万不要 ...
- 嵌入式C语言头文件的建立与使用
如何正确编写 C 语言头文件和与之相关联的 c 源程序文件,这首先就要了解它们的各自功能. 要理解 C 文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程. 一般说来编译器会做以下几 ...
- 51单片机C语言学习笔记6:51单片机C语言头文件及其使用
很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这个是在头文件中用sfr定义的,现在定义好了的是这样的 sfr P1 ...
- C语言头文件
最近在工作当中遇到了一点小问题,关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题.学习C语言已经有好几年了,工作使用也近半年了,但是对于这部分的东西的确还没有深入的思考过.概念上还是比 ...
- 关于制作C语言头文件的思考
我们接触的第一个c语言代码是这个: #include<stdio.h> main() { printf("Hello World"); } 这是最简单的c代码,然而,它 ...
- C语言头文件的使用(转载)
C语言头文件的使用 ——by janders 转载请注名作者和出处,谢谢! C语言中的.h文件和我认识由来已久,其使用方法虽不十分复杂,但我却是经过了几个月的“不懂”时期,几年的“一知半解”时期才逐渐 ...
随机推荐
- hdoj4276(树形dp+分组背包)
题目链接:https://vjudge.net/problem/HDU-4276 题意:给出一棵树,起点为1,时间为V,终点为n,每个点有一个价值a[u],每条边有一个时间花费w,求在时间V内到达终点 ...
- 【Python】【demo实验35】【基础实验】【排序】【选择法排序】
原题: 使用选择法对10个数字排序: 即取10个数中最小的放在第一个位置,再取剩下9个中最小的放在第二个位置... 我的源码: #!/usr/bin/python # encoding=utf-8 # ...
- HDU 4578 线段树玄学算法?
Transformation 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4578 Problem Description Yuanfang is p ...
- 在Visual C++ 6.0中为代码添加行号
由如上代码可知Visual C++ 6.0是没有行号的(新手代码不要在意,重点是没有行号),在编译报错的时候会发现其会指出在第几行错了,如果没有代码行号将很难找到它 为解决这个问题可以安装插件给Vis ...
- 用bisect来管理已排序的序列
bisect 模块包含两个主要函数,bisect 和 insort,两个函数都利用二分查找算法来在有序序列中查找或插入元素. 2.8.1 用bisect来搜索 bisect(haystack, nee ...
- shell习题第11题:输入数字执行命令
[题目要求] 写一个脚本实现如下功能:输入一个数字,然后运行对应的一个命令 显示命令如下: *cmd menu* 1--data 2--ls 3--who 4--pwd 输入1时,会运行data [ ...
- .Net C# RSA签名和验签重写
namespace com._80community.unittest.CUP { /// <summary> /// CUP Client /// </summary> pu ...
- POJ 1860 汇率 SPFA
题意 有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 ...
- Scala学习十六——XML处理
一.本章要点 XML字面量<like>this</like>的类型为NodeSeq 可以在XML字面量中内嵌Scala代码 Node的child属性产出后代节点 Node的at ...
- Unity 用脚本给EventTrigger添加各种事件
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Eve ...