关于c语言的include

我在用tc2.0编译时,用当前文件包含另一个自己写的c程序,总是提示我无法打开include文件

file1.c:
int max(int x,int y)
{
return x>y?x:y;
}
file2.c:
#include<stdio.h>
#include "file1.c"
int main()
{
printf("%d",max(2,3));
}
这是编译总出错,提示无法代开包含文件 file1.c
如果用觉得对路径就可以如#include“D:\file1.c”
不知道是编译环境的原因还是,我有哪些地方搞的不对,望高手多多指点。

 C语言编程中include的用法

    iostream与iostream.h的区别:

  #include <iostream.h> // 这个就是1998年标准化以后的标准头文件

  #include <iostream> // 这个就是标准化以前的头文件

  更本质上的区别就是iostream把标准C++库的组件放在一个名位std的namespace里

面。而相对的iostream.h则将这些标准组件放在全局空间里,同时在标准化以后旧有的

C标准库也已经经过改造了。

 使用前者,就需要在代码中添加语句:

using namespace std;  

即:

#include <iostream.h> ==#include <iostream>+ using namespace std;  

2. #include、#include<xxx.h> 与#include “xxx.h”的区别:

      #include<xxx.h>

系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。

    #include “xxx.h”

用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++

安装目录(比如VC中可以指定和修改库文件查找路径,Unix和Linux中可以通过环境变量来设定)中查找,最后在系统文件中查找。

     #ifndef /#define/ #endif

3.避免头文件的重定义

在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接

成一个可执行文件时,就会出现大量“重定义”的错误。在头文件中实#ifndef #define 

#endif能避免头文件的重定义。

 方法:例如要编写头文件

test.h 

在头文件开头写上两行:

 #ifndef _TEST_H 

#define _TEST_H//一般是文件名的大写

 头文件结尾写上一行:

 #endif 

这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。

 分析:当第一次包含test.h时,由于没有定义_TEST_H,条件为真,这样就会包含(执

行)#ifndef _TEST_H和#endif之间的代码,当第二次包含test.h时前面一次已经定义了_TEST_H,条件为假,#ifndef _TEST_H和#endif之间的代码也就不会再次被包含,这样

就避免了重定义了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-27
提示你下:
#include "d:\\file1.c" //C语言中"\"表示转义符,表示路径时双写"\\"。追问

include 命令令是在预编阶段由编译器处理,不属于c语言的语句,所以在include名里边可以直接用操作系统中的写法。

追答

经测试,VC++ 2005中单双都可以。

第2个回答  2011-03-27
确保file1.c与file2.c在同一目录下,或写绝对路径"d:\\file1.c"
第3个回答  2011-03-30
两个文件如果在同一目录下这样就可以,否则必须写绝对路径
第4个回答  2011-04-07
把file1.c和file2.c放在同一个目录下就可以了

c语言中,include是什么意思?
明确答案: 在C语言中,`#include`是一个预处理指令,用于包含外部文件。详细解释:1. 预处理指令的概念: 在C语言中,预处理指令是在编译过程之前处理的指令。这些指令允许程序员执行一些特定的操作,比如包含外部文件、定义宏等。预处理指令都以`#`符号开头。2. #include的作用: `#include`主要用于...

c语言include用法
在这个例子中,预处理器会将`fun.c`的内容复制到`main.c`的`#include "fun.c"`位置,然后整个代码会被编译。编译多文件程序的方法:为了克服包含.c文件方法中的"重定义"问题,C语言编程中通常使用分离编译的方式。这种方式下,每个`.c`文件单独编译成`.o`文件,然后这些`.o`文件再被链接在一起...

关于C语言中的“#include”
C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和...

c语言里面的这个#includestdio.h什么意思啊?
include 是C语言中的一个预处理指令,用于包含标准输入输出头文件。以下是 一、预处理指令 在C语言中,#include是一个预处理指令,它的作用是告诉编译器在编译之前包含指定的文件。预处理指令在编译过程的第一步——预处理阶段执行。二、是什么 是C语言中的一个标准库头文件,它包含了标准...

关于C语言中的“#include”
include 是指使用数学函数时,应该在该原文件中使用的命令行。不能省,是因为他不是系统默认的。include 是指输入输出函数,是默认的函数。字符函数和字符串函数是#include"string.h".最后的动态存储分配函数在ANSI中建议是"stdlib.h",你可以买一本有关C的书看一下,后面有详细的介绍!

c语言编程 开头的#include <stdio.h>是什么意思?
在C语言的世界里,#include指令就像一把钥匙,打开了通往丰富函数库的大门。#include "",这不仅仅是一个简单的字符串,它是一个预处理器指令,指示编译器在编译源代码时,寻找并插入指定文件(如)中的内容。这个过程就像是在代码中嵌入了另一个文件,扩展了我们的功能和工具箱。stdio.h:标准输入...

为什么C语言的代码都需要# include"."?
C语言的源文件分为两种:1、.c文件,以c为扩展名,一般存储具体功能的实现;2、.h文件,称为头文件,一般存储类型的定义,函数的声明等。通常,头文件被.c文件包含,使用#include 语句。但值得注意的是,这只是一种约定,而非强制。事实上,将声明写在.c文件,比如a.c,然后 include "a.c"同样...

对于c语言中的include<stdlib.h>头文件实用
在C语言编程中,<include》头文件包含了一系列实用函数,它们在处理数值转换、内存管理以及相关任务时非常关键。以下是其中一些功能的简要概述:1. atof, atoi, atol: 分别用于将字符串转换为double, int, 和 long 类型,如double atof(const char *str)和int atoi(const char *str)。2. strtod, ...

C中关于#include
include "..." 是找当前目录和PATH中所带的头文件有没有符合的。或者是你的编译器加上指定头文件的路径,也可以找到。如果你引用的头文件在其它文件夹。最好设置一下PATH的变量,或者是在编译参数中带上你的头文件路径。这样方便程序移植。至于编译参数问题,这视不同的编译器来定。你需要查询一下...

关于C语言中include
C语言编译器有个 -I参数(windows下是 \/I),用来指定头文件的搜索目录。只要指定了这个目录,在c文件中就只需要简单地 #include "yourhead.h";另外,如果你是用的是IDE开发环境,那么在界面的设置中,也可以指定这个目录。比如,visual studio里可以这样设定:...

相似回答