C語言預備知識
C語言的特點:高效、靈活、功能豐富、表達力強和較高的可移植性
#include <stdio.h> 和#include "stdio.h"的區別
查詢路徑不一樣。
#include 預處理指令用於把這個檔案包含到需要使用這些宣告的原始檔中。
#include <stdio.h>直接到設定的include 環境變數裡查詢。
#include "stdio.h"現在當前路徑查詢,再到設定的include環境變數裡查詢。
註釋
/* */C語言風格的註釋,可註釋多行,但是不支援巢狀註釋,/* 與 */之間的內容都註釋掉。
//C++風格的註釋,一次註釋一行。
需要注意的是,在註釋中,換行符依舊有效。也就是說在使用換行符(\)將一行折行為多行的時,折行得到的多行都會被註釋掉
註釋只會讓註釋掉的內容在程式中不起作用,而不會將這段程式碼從原始檔中刪除,要從邏輯上刪除一段C程式碼,可以通過條件編譯的方式實現。
字串
在C語言中,使用一對雙引號(“”)括起來的一串甚至一個字元被看做是一個字串,‘\0’(NUL)是C語言中字串結束的標誌,它本身不被看做是字串的一部分。
對於"abcde"這樣一個字串,在記憶體中的儲存為:'a','b','c','d','e','\0' 。雖然存放了'\0',但是在計算字串的長度時,並不會吧‘\0’計入長度大小中。
說明:'\0'、0、NULL的本質都是數字0,'0'是字元0,ASCII碼值為48.
三字母詞
就是幾個字元的序列,合起來表示另外一個字元。常見的三字母詞:
三字母詞 |
表示字元 |
??( |
[ |
??) |
] |
??< |
{ |
??> |
} |
事實上,現在的編譯器已經做了優化。三字母詞可以是C環境可以在某些缺少一些必備字元的字符集上使用,而現在我們的使用的編譯器環境都是具備這些字符集的,所以,就算我們使用三字母詞,也會原樣輸出。
在Windows VS2013下測的話,單字母詞直接就被忽略了,在Linux下,會有一個警告,三字母詞依然會被忽略。