C語言的常青樹,語法簡單明了,歷史積澱豐厚,貼近硬件,易於與系統對接,學習資源豐富,應用廣泛,至今仍是那麽生機勃勃。
C11標準的新特點
C11標準是C語言標準的第三版(ISO/IEC 2011發布),上壹版是C99標準。C11標準與廣泛使用的c99標準相比,有哪些改進?
1,對齊處理
Alignof(T)返回T的對齊方式,aligned_alloc()在指定的字節和對齊方式以及頭文件中分配內存
2、返回
_Noreturn是壹個函數修飾符,位於函數的返回類型前面,聲明函數沒有返回值,有點類似於gcc的__attribute__((noreturn)),位於聲明語句的末尾。
3、類屬
_Generic支持輕量級範式編程,可以將壹組類型不同但功能相同的函數抽象成壹個接口。
4、靜態斷言()
_Static_assert()是壹個靜態斷言,在編譯時執行。斷言表達式必須是可以在編譯時求值的表達式,而普通的assert()是在運行時斷言的。
5.安全版本的幾個功能
Gets_s()代替Gets()是因為後面I/O函數的實際緩沖區大小不確定,導致常見的緩沖區溢出攻擊,還有其他類似的函數。
6、fopen()新模式
Fopen()增加了壹個新的創建和打開模式“X”,常用於文件鎖。
7.匿名結構和聯盟
8.多線程操作
頭文件
9._原子類型修飾符和頭文件
10,改進的Unicode支持和頭文件
11、快速退出()
exit()失敗時終止程序的另壹種方法。
12,復雜宏,浮點宏。
13和time.h中加入了Timespec結構,時間單位為納秒,而原來的timeval結構時間單位為毫秒。
C語言的學習是壹個從基礎語法到高階算法的循序漸進的過程。