C语言中#include <filename> 和 #include "filename"的区别

本文主要介绍C语言中通过#include <filename> 和 #include ”filename”的方式引入.h头文件的区别。

1、#include <filename>引入.h头文件

使用<>方式引入.h头文件,通常指首先在编译器默认的include目录下寻找该头文件,一般使用编译器提供的标准函数库就用这个进行包含引入,如printf()需要用到的<stdio.h>

例如,

#include<stdio.h>  
 int main(){    
   printf("Hello C");      
   return 0;  
 }   

2、#include "filename"引入.h头文件

使用""方式引入.h头文件,通常指首先在源码当前目录下面寻找该头文件,一般自己定义的头文件就用这个;

例如,

#include "stdio.h"  
 int main(){    
   printf("Hello C");      
   return 0;  
} 

3、#include <filename> 和 #include "filename"的区别

由上述可以看出,两者区别主要是搜索.h头文件的目录不同,也就是系统标准函数库的.h头文件用#include <filename>引用,程序员自己定义的.h头文件最好的引入方式使用#include "filename"引入。

注意:大多数情况两种使用个可以引入头文件都是可以的。

例如,

#include "stdio.h"
#include "string.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
 
#include <unistd.h>
#define Max(a,b) ({int a1=a,b1=b; a1>b1?a1:b1;})
int main()
{
    int i,j,k,*q;
    char *p="abc";
    int pids[10];
    int pid;
    q=pids;
    //printf("%d \n", getpid());
    //sleep (3);
for(i=0;i<3;i++)
{
    printf("for-%d\n",i);
    pid=fork();
    if(pid) {
        *(q++) = pid;    
    }else if(pid == 0){
        sleep(5);
        printf("child:%d \n", getpid());
        break;
    }
}
    if(pid>0)
    {
        for(i=0;i<3;i++)
        {
        //    waitpid(pids[i], NULL, 0);    
            printf("parent: %d, %d \n", getpid(),pids[i]);
        }
    }
    printf("song \n");
}


推荐阅读
cjavapy编程之路首页