专栏首页嵌入式大杂烩【C语言笔记】两个小知识

【C语言笔记】两个小知识

一、关于头文件包含问题

C语言包含头文件时应该使用尖括号还是双引号?使用尖括号<>,编译器会到系统路径下查找头文件;而使用双引号“”,编译器首先在当前路径目录下查找头文件,如果没有找到,再转到系统目录下查找。所以,通常使用尖括号包含标准头文件,使用双引号包含自定义头文件。如:

二、关于头文件重复包含问题

同一个头文件在不同的C文件里可能会被包含很多次,可能会产生重复包含的错误。我们可以使用宏保护来解决这个问题,如test.h中可以使用如下宏保护:

第一次包含头文件,会定义宏_TEST_H,并执行“头文件“的代码;第二次包含时因为之前已经有定义宏_TEST_H,不会重复执行”#ifndef _TEST_H“与”#endif“之间的代码。

stm32单片机中的库文件就是这么做的,如

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【C语言笔记】数组a与&a有什么不同?

    a是数组名,是一个数据区的常量,对其取地址(&a)就可以得到数组存储区域的地址,同样,a本身也代表了数组存储区的首地址。所以,a与&a的值是一样的。但是,虽然a...

    正念君
  • 【C语言笔记】extern关键字

    extern “C”的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern “C”后,会指示编译器这部分代码按C语言的进行编译,而不是C+...

    正念君
  • 【C语言笔记】#define与typedef的区别?

    这里所说的字符串是一般意义上的字符序列,不要和C语言中的字符串等同,它不需要双引号。

    正念君
  • [C&C++]头文件包含问题

    原文链接:https://blog.csdn.net/humanking7/article/details/79299045

    祥知道
  • 基础知识 | 每日一面(61)

    小林:准确的的行为是由实现定义的,这就是应该有文档说明; 通常, 用 <> 括起来的头文件会先在一个或多个标准位置搜索。用 "" 括起来的头文件会首先在 “当前...

    C语言入门到精通
  • Visual Studio2010中的外部依赖项

    Visual Studio2010中的项目下拉列表下面有外部依赖项,里面显示的文件是你程序中显示包含的头文件所包含的的头文件。比如,main函数里面包含了win...

    AIHGF
  • Google C++编程风格指南(一)之头文件的相关规范

    一个良好的编程规范和风格是一名程序猿成熟的标志。规范的编码可以减少代码冗余,降低出错概率,便于代码管理和代码交流等等,事实上,其作用远不止这些,我们要牢记编码规...

    Dabelv
  • C语言 | 每日基础(50)

    阿一:这是个风格问题, 因此有不少的争论。很多人认为 “嵌套包含文件” 应该避免。它让相关定义更难找到,如果一个文件被包含了两次, 它会导致重复定义 错误; 同...

    C语言入门到精通
  • 使用C语言中的头文件有什么技巧和注意事项吗?为什么不直接包含C文件呢?

    从事嵌入式开发多年,对于C语言使用的频率比较多,现在讲讲C语言在平时编程工作中经常出现的一些问题,就以楼主的题目为切入点分析归纳下,分享给正在使用或者学习C语言...

    程序员互动联盟
  • Windows客户端C/C++编程规范“建议”——文件

    说明:#include <>和#include “”导致编译器在搜索文件时,搜索的路径顺序不同。所以需要正确使用#include,以避免包含错了头文件。

    方亮

扫码关注云+社区

领取腾讯云代金券