C include的各種區別

2021-08-10 01:22:28 字數 1291 閱讀 6054

c++中#include<>和#include""的區別

一、#include< >

#include< > 引用的是編譯器的類庫路徑裡面的標頭檔案。

假如你編譯器定義的自帶標頭檔案引用在 c:\keil\c51\inc\ 下面,則 #include引用的就是 c:\keil\c51\inc\stdio.h 這個標頭檔案,不管你的專案在什麼目錄裡, c:\keil\c51\inc\stdio.h 這個路徑就定下來了,一般是引用自帶的一些標頭檔案,如: stdio.h、conio.h、string.h、stdlib.h 等等。

二、#include" "

#include" " 引用的是你程式目錄的相對路徑中的標頭檔案。

假如你的專案目錄是在 d:\projects\tmp\ ,則 #include"my.h" 引用的就是 d:\projects\tmp\my.h 這個標頭檔案,一般是用來引用自己寫的一些標頭檔案。如果使用 #include" " ,它是會先在你專案的當前目錄查詢是否有對應標頭檔案,如果沒有,它還是會在對應的引用目錄裡面查詢對應的標頭檔案。例如,使用 #include "stdio.h" 如果在你專案目錄裡面,沒有 stdio.h 這個標頭檔案,它還是會定位到 c:\keil\c51\inc\stdio.h 這個標頭檔案的。

c++中#include和#include的區別

#include

void main()

不能正確執行,說是string型別沒有定義

#include

using namespace std;

void main()

這裡的string編譯器就認識了,但是strcmp函式就不認識了呢?

一般乙個c++的老的帶「.h」副檔名的庫檔案,比如iostream.h,

在新標準後的標準庫中都有乙個不帶「.h」副檔名的相對應,區別除了後者的好多改進之外,還有一點就是後者的東東都塞進了「std」名字空間中。

但唯獨string特別。

問題在於c++要相容c的標準庫,而c的標準庫里碰巧也已經有乙個名字叫做「string.h」的標頭檔案,包含一些常用的c字串處理函式,比如上面提到的strcmp函式。

這個標頭檔案跟c++的string類半點關係也沒有,所以

並非的「公升級版本」,

他們是毫無關係的兩個標頭檔案。

要達到上述的目的,比如同時:

#include

#include

using namespace std;

或者#include

#include

其中是與c標準庫的

相對應,但裹有std名字空間的版本。

C include 尖括號和雙引號的區別

這兩種寫法都是正確的寫法,但是它們卻是有區別的。我們知道c 已經有一些編寫好的標頭檔案 比如標準函式庫等等 它們存放在vc 的include資料夾裡。當我們使用 include 檔名 命令時,編譯器就到這個資料夾裡去找對應的檔案。顯然,用這種寫法去包含乙個我們自己編寫的標頭檔案 不在那個includ...

各種變數的區別

這個網頁相當好,還解釋了棧和堆的區別!對於乙個完整的程式,在記憶體中的分布情況如下圖 區全域性資料區 堆區棧區 變數可以分為全域性變數 靜態全域性變數 靜態區域性變數和區域性變數 按儲存區域分 全域性變數 靜態全域性變數和靜態區域性變數都存放在記憶體的全域性資料區,區域性變數存放在記憶體的棧區 按作...

各種輸入的區別

c 中cin cin.get cin.getline getline gets 等函式的用法 學c 的時候,這幾個輸入函式弄的有點迷糊 這裡做個小結,為了自己複習,也希望對後來者能有所幫助,如果有差錯的地方還請各位多多指教 本文所有程式均通過vc 6.0執行 1 cin 2 cin.get 3 ci...