在上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;
}
這樣即可成功!