標頭檔案:你真的懂我嗎???

2020-10-03 12:02:30

在上Linux課的時候被老師提了一個問題,<stdio.h>和"stdio.h"有什麼區別?

老實說,當聽到這個問題的時候我心裡想這不是一樣的嗎?學和用了這麼久C語言竟然把這當成理想應當了。。其實這些細節也很能體現基礎掌握得怎樣,聽說對於面試來說,大廠也比較傾向問這些基礎內功。
在這裡插入圖片描述

<stdio.h>和"stdio.h"的區別

當前處理器發現#include指令時,會檢視後面的檔名並把檔案的內容包含到當前檔案中,即替換原始檔中的#include指令,這相當於把被包含檔案的全部內容輸入到原始檔#include指令所在的位置。

#include指令有兩種形式:

① #include <stdio.h>

② #include 「mycoce.h」

第一種即<>告訴前處理器在標準系統目錄中查詢檔案,第二種即""告訴前處理器首先在當前目錄中(或者檔名指定的其他目錄)查詢檔案,找不到再查詢標準系統目錄。

自寫標頭檔案

如下寫了一個標頭檔案,命名為ps.h,儲存地址如下:

#include <stdio.h>

  #define PR printf

在這裡插入圖片描述

那麼以後我寫程式的時候只要在開始包含#include 「D:\PyCharm Community Edition 2020.2\ps.h」

這樣就可以免掉#include <stdio.h>,因為我已經在另一個檔案中包含它了。所以比如在程式中我要輸出「hhh成功了」,就可以用PR代表printf,如下

#include "D:\PyCharm Community Edition 2020.2\ps.h"

int main()

{

    PR("hhh成功了");

    return 0;
}

在這裡插入圖片描述
在這裡插入圖片描述

這樣即可成功!