在上Linux课的时候被老师提了一个问题,<stdio.h>和"stdio.h"有什么区别?

老实说,当听到这个问题的时候我心里想这不是一样的吗?学和用了这么久C语言竟然把这当成理想应当了。。其实这些细节也很能体现基础掌握得怎样,听说对于面试来说,大厂也比较倾向问这些基础内功。

<stdio.h>和”stdio.h”的区别

当预处理器发现#include指令时,会查看后面的文件名并把文件的内容包含到当前文件中,即替换源文件中的#include指令,这相当于把被包含文件的全部内容输入到源文件#include指令所在的位置。

#include指令有两种形式:
① #include <stdio.h>
② #include “mycoce.h”
第一种即<>告诉预处理器在标准系统目录中查找文件,第二种即””告诉预处理器首先在当前目录中(或者文件名指定的其他目录)查找文件,找不到再查找标准系统目录。

自写头文件

如下写了一个头文件,命名为ps.h,存储地址如下:
1
2
#include <stdio.h>
#define PR printf

那么以后我写程序的时候只要在开始包含#include "D:\PyCharm Community Edition 2020.2\ps.h"
这样就可以免掉#include <stdio.h>,因为我已经在另一个文件中包含它了。所以比如在程序中我要输出“hhh成功了”,就可以用PR代表printf,如下
1
2
3
4
5
6
7
8
#include "D:\PyCharm Community Edition 2020.2\ps.h"

int main()
{
PR("hhh成功了");

return 0;
}


这样即可成功!

评论