头文件一般放什么

一般的c和c++工程里面头文件应该放那些内容:

1宏定义(#define)

2结构体、联合体和枚举类型的定义(这个地方对结构体有时候称为定义,有时候称为声明,个人认为定义更合适一点).

3类的声明和类的定义(不是类的对象的定义)

4函数的声明

5全局变量的声明

6typedef的声明

 

0.一个好习惯, 除了static,inline,extern函数,正常的函数不要在.h里实现,只是把申明放在h里,实现放在.c里

1.永远不要把外部函数原型(即外部函数声明)放到.c文件中

2.声明或宏定义需要在多个文件中共享时,尤其需要把它们放入头文件中

3.如果宏定义或声明为一个.c文件私有,则最好留在.c文件中
--------------------- 
原文:https://blog.csdn.net/kwdecsdn/article/details/74026358 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ipad无法充电怎么办_IPAD充电线破损无法保修,资深“果粉”吐槽:店大欺客!...

应该有不少人都是在使用苹果的电子产品吧?包括iphone、ipad之类的。您在使用的过程中有没有发现一个问题,这些电子产品的充电线似乎很不经用,没多久就会发生断裂或者破损,但大部分人都很少会去较真,一般都是自己花钱再…

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

代码 import java.util.Scanner;public class Testified {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println("请输入月数:");int n scanner.nextInt();System.out.println("第"n"个月的兔子总…

windows内核情景分析---进程线程1

本篇主要讲述进程的启动过程、线程的调度与切换、进程挂靠 一、进程的启动过程: BOOL CreateProcess ( LPCTSTR lpApplicationName, // LPTSTR lpCommandLine, // command line string LPSECURITY_ATTRIBUTES lpProcessAtt…

【转】更改远程桌面默认端口3389及删除远程桌面连接历史记录

Windows 2000/2003等系统中的远程终端服务是一项功能非常强大的服务,同时也成了入侵者长驻主机的通道,入侵者可以利用一些手段得到管理员账号和密码并入侵主机。下面,我们来看看如何通过修改默认端口,防范黑客入侵。   远程终端…

jbod ugood 磁盘驱动状态_如何检查Mac磁盘空间,mac磁盘空间其他怎么清理

致力于成为您终身的苹果管家点击上方蓝字 关注我们检查Mac磁盘空间的时候,你会发现“其他存储”占用了驱动器太多的空间。你知道Mac上的其他存储在哪里,mac磁盘空间其他怎么清理吗?这里macw小编为大家带来了详细的mac 清理磁盘空间教程&…

Oracle中用For Loop 替代Cursor

我们在Oracle存储过程中需要遍历一张表,应该怎样做。我想大多少的人第一个念头就是Cursor。    比如:    create or replace procedure StudyCursor(  resulst out integer  ) is  v_tablename varchar(30);  v_tabletype varchar(11); …

最强鸿蒙系统txt_鸿蒙系统升级时间确认,哪些手机有望成为首批“宠儿”?

在华为麒麟芯片受到打压的这段时间,鸿蒙系统可以说是华为近阶段最受瞩目的研发项目之一。鸿蒙系统不仅仅是一个手机操作系统,它还可以安装在PC、智能家居设备。它的强大除了体现在很多方面。例如传统APP开发代码复杂,劳动强度大,后…

关于Tomcat双击startup.bat文件一闪而过问题

原因: 这是因为我们没有配置JAVA_HOME环境变量,Tomcat本身就是java写的解决方法 找到我们电脑的属性,打开,显示以下界面: 点击高级系统设置,进入下面的界面: 点击环境变量吗,进…

windows内核情景分析---进程线程2

二、线程调度与切换 众所周知:Windows系统是一个分时抢占式系统,分时指每个线程分配时间片,抢占指时间片到期前,中途可以被其他更高优先级的线程强制抢占。 背景知识:每个cpu都有一个TSS,叫‘任务状态段’…

前后落差大用什么词语_形容前后反差大的词语

欢迎来到阿八个人博客网站。本阿八个人博客网站提供最新的站长新闻,各种互联网资讯。喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术!URL链接:https://www.abboke.com/liaomei/2019/0722/52596.html形容前后反差大的词语(1)天壤之别【解释】壤&#x…

asp.net mvc 2 DisplayTemplates 的使用

asp.net mvc 2 官方给的例子有些简单,主要介绍了新的功能。下面主要介绍下DisplayTemplates 给我们带来的实用的功能,可以自定义字段显示的方式,按类型分:String、Boolean、Decimal。按显示的方式:EmailAddress、Html、…

关于Tomcat端口8080占用问题(解决方法)

解决方法 打开cmd命令提示符,输入netstat -aov,在本地地址下找到8080端口,显示如下: 这个时候我们要记得PID后面的数字,我的是8740: 然后打开任务管理器,在详细信息下找的PID为8740的&#…

攻破Win7~Win10 PatchGuard(KPP DSE)【支持Win10 TH1/TH2/RS1/RS2】【WIN64内核越狱】

EP_X0FF和Fyyre已开源 https://github.com/hfiref0x/UPGDSED 最新状态:已放弃Win7.Win8,8.1的静态Patch,专注于Win10 PatchGuard. 1.重启内核越狱,支持Win7~Win10 Win10 10.0.10240.0 ~ Win10.10.0.14939.693(2017.1.11更新至693最新版) Win8 6.3.9600.18289 ~ 6.…

json tostringfiy_JS学习笔记 : 类型转换之「抽象值操作」

这要是没搞懂你好意思说学过JS?这怕是JavaScript中最坑、最有毒的一个部分了。将值从一种类型转换成另一种类型叫做类型转换。例如:var a 1;var b String(a); // "1" 显式转换var c "" a; // "1" 隐式转换在JavaScrip…

cont char *p 和 char* const p 区别及记忆方法

/* cont char *p 和 char* const p 区别及记忆方法 const char *p "hello"; 和 char const *p "hello"; 等价 保护的是内容(即这段buffer只读, 记忆:const 在*p前, *p是取内容,保护内容&am…

eclipse和Tomcat绑定

在file下new一个Dynamic Web Project 取好名字,点击next 或者finish都可以,完成创建 点击window,选择preferences 在搜索框里输入server,然后点击Runtime Environments 点击add 我的版本是7,选择7,大家是那个版本就选择…

OD里alt+F9和Ctrl+F9和shift+F9的区别

ShiftF9 - 与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。 CtrlF9 - 执行直到返回,跟踪程序直到遇到返回,在此期间不进…

kafka数据不丢失不重复_超高速底层系统数据复制,安全精准不丢失

大家好,我是IT数码手机控,一名究极数码爱好者,喜欢最潮最酷的数码好物,追求科技美学,数码圈里最懂艺术,艺术圈里最会修电脑的女汉纸~而今天就给大家介绍佑华硬盘数据拷贝机。— ❶ —外观质感拿到佑华 PRO-…

程序之美

程序的美要从两个方面进行品味,一是程序整体的架构之美;一是程序的代码实现之美。编码之美:编程就是为解决一个计算机能够解决的问题写出具体的程序实现。开始,人们总是从发现代码之美开始的,从把代码一股脑的写在main…

[沫忘录]mysql基础(函数及约束)

[沫忘录]mysql基础(函数及约束) mysql内置函数 字符串函数 #字符串拼接 CONCAT(S1, S2...S3)#全转小写 LOWER(str)#全转大写 UPPER(str)#用pad将str左填充至n长 LPAD(str, n, pad)#数值也可当做字符串#用pad将str右填充至n长 RPAD(str, n, pad)#去掉首尾的空格 TRIM(str)#截…