C語言 預處理一(文件包含--#include)


//預處理命令不需要在結束末尾加";"
//#inlude可以包含任意類型的文件

//#inlude 將一個源文件的全部內容包含到另一個源文件中,成為它的一個部分,文件包含的一般格式為:
//#include <文件名> 或者 #include “文件名”
//兩種形式的區別在於:使用尖括號表示在系統頭文件目錄中查找(由用戶在設置編程環境時設置),而不在源文件目錄中查找。
//使用雙引號則表示首先在當前的源文件目錄中查找,找不到再到系統頭文件目錄中查找。
#include<stdio.h>//在系統頭文件目錄中查找stdio.h
//.h頭文件一般存放函數聲明,變量的聲明
#include<stdlib.h>
#include"1.h"

//#include調用文件的兩種方式
//方式一:如果調用的文件在項目下面,可以#include"1.h"直接調用
//方式二:還可以通過絕對路徑或者相對路徑調用文件
//例子1(絕對路徑包含)
#include"E:\\Look\\run.c"
//例子2(相對路徑包含)
#include"../run1.c"                 //   "../"表示當前源代碼的上一級目錄
#include"./run2.c"                 //   "./"表示當前源代碼的目錄
#include"./trd/run3.c"            //   "./trd/"表示當前源代碼的trd文件下的run3.c文件
#include"/run4.c"                //   "/"表示當前頂級目錄下的run4.c文件




//#include一行只能包含一個文件,多個文件必須分開寫
//#include"../run1.c" "/run4.c"//這樣的寫法錯誤

//#include包含嵌套,可以文件A包含文件B,文件B又包含文件C

//全局變量的特殊聲明與定義
int a;//這里int a;是全局變量a的聲明,並不是a的定義
int a;//這里的a,因為后面緊接着a的賦值,所以這里是定義
a = 10;




void main(){
    //#inlude可以包含任意類型的文件
    #include"2.txt"
    //已經使用#include"1.h"包含了go()函數的聲明
    go();
    //已經使用#include"E:\\Look\\run.c"包含了該函數
    run();

    run1();
    run2();
    run3();
    run4();

    //注意:這里test2()這個函數就不能通過#include"tec02.c"包含進來,
    //因為同一項目下的源文件不可以有重名的函數或者重名的全局變量
    //如果再通過#include"tec02.c"包含,test2()函數就會被重定義
    //因此,在同一個項目下面,最好是包含.h的頭文件(.h一般放函數聲明,所以沒有影響),不要包含.c
    test2();
    system("pause");
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM