关于include的提问

ScorpioZZR 2003-08-19 06:33:12
#include <stdio.h>
#include "stdio.h"

我知道这两个的区别是,一个要先去找当前目录才去找库函数。
但是,实际上运行的时候都一样可行呀,为什么经常看到论坛有人强调用尖括号而不用引号呢?

masaka....??难道还有什么其他的原因吗?
...全文
60 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ScorpioZZR 2003-08-19
  • 打赏
  • 举报
回复
发送者 njuhuangmy发送时间 2003-8-19 20:37:09
正如里面讨论所说, 结果 是 一样的

不过, <> 从标准 include 目录开始 搜索
“” 从用户 目录开始搜索, (output 设置的目录)
在一个程序中, 不区分 使用 ,是可以的 。
但 不符合 软件工程的 概念 。对一个学生来说, 随便使用是 无所谓的

但对 社会人的 程序员 来说 ,使用不当 是不可原谅的 , 第一点,反应了
一个人 可能 对此 不了解 。 第二个, 虽然 有时候 执行正确, 但是,
也有可能 执行不对的。 对不?? 假如 某一个 头文件在 多个 目录里有
不一样的版本,怎么办 ? 所以,在 做项目的时候 ,千万要分清的。

-----------
以上特此谢过这位大哥!
lybapple 2003-08-19
  • 打赏
  • 举报
回复
错了“filename.h”,认为是自己编的
lybapple 2003-08-19
  • 打赏
  • 举报
回复
到最好的效率没有什么影响。
只不过用<filename.h>,其他人一般认为该文件是系统的。
用<filename.h>,认为是自己编的。
antijpn 2003-08-19
  • 打赏
  • 举报
回复
除了搜索路径的顺序不同,没有其他区别,实际意义也就如2楼所说
ehhl 2003-08-19
  • 打赏
  • 举报
回复
林锐在《《高质量c/c++编程》》里是这么说的,摘抄如下供你参考:
对于#include <filename.h> ,编译器从标准库路径开始搜索 filename.h
对于#include “filename.h” ,编译器从用户的工作路径开始搜索 filename.h
(以上假设要包含的头文件名称为filename.h)
fwinfwin 2003-08-19
  • 打赏
  • 举报
回复
如果有个笨蛋写了个stdio.h在你的程序目录下,估计你的程序编译通不过了

用<>表示这个是一个库函数,不是由自己做的,一般引用标准库或者第三方的库文件的时候用他
而用""一般习惯表示是自己定义的.h文件,在程序移植的时候给出源代码,需要把所有的“”头文件和实现文件包含进去,而库文件则可以不包含进去,只需要指明就可以了

这个是一个编码规范和约定的问题,属于软件工程的东西!你自己看吧!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧