C 語言提供 signed char(預設)與 unsigned char 兩種字符型:
Turbo C 中,char 參與運算時自動提升為 int,且視為有符號擴展。
ASCII 值 > 0x80 時最高位為 1,若存入 signed char 會被視為負數。例:0x8C → 補碼 0xFF8C(-116)。處理漢字內碼等高位字符時,必須聲明為 unsigned char,否則會導致符號擴展錯誤。
char str[10]; 分配 10 字節,實際可存 9 個有效字符,第 10 位由編譯器自動填入 '\0'(NULL 終止符)。
| 形式 | 示例 | 說明 |
|---|---|---|
| 單引號字符 | 'A', '9', 'Z' | 可打印字符 |
| 十進制 ASCII | 85 | 對應 'U' |
| 十六進制 | 0x5D | 對應 ']' |
| 八進制 | 0102 | 對應 'B' |
| 轉義序列 | '\n', '\t', '\\', '\'' | Turbo C 2.0 支援標準轉義 |
字符串常數用雙引號:"Hello Turbo C"。
指針存儲變量地址,是 C 語言靈活操作內存的關鍵。按指向類型分為:
int * 整型指針float * 浮點指針char * 字符指針(常用於字符串操作)struct *、union * 結構/聯合指針void func();void *ptr; 可指向任意類型,配合動態內存分配(malloc 返回 void*)實現類型無關的內存管理。