puts("msg") 自動換行、無格式化開銷,適合單純輸出字串;printf 需解析格式字串。
puts("Hello " "World"); // 編譯期合併為 "Hello World"
相鄰字串常量自動連接,可用於長字串分行。
printf("Alert\a\a\a\n"); // 終端機發出三聲蜂鳴
int arr[5]; // 定義 extern int arr[]; // 宣告(同檔案多餘,跨檔案必需)
extern 告訴編譯器「此符號在別處定義」,不分配記憶體。
static:函數內保持值跨呼叫,初始化一次,儲存於全域區。static:限制連結可見度於本編譯單元(檔案作用域)。#define NUMBER 5 // 編譯期純文字替換,無型別、無作用域、不佔記憶體
typedef 則建立型別別名,參與型別系統。
putchar('\n'); // 等同 putchar(10)