| 特性 | char * | void * |
|---|---|---|
| 資料類型明確性 | 指向字元/位元組,可直接解引用存取資料 | 類型未知,不可直接解引用 |
| 通用性 | 僅能接收 char * 類型引數 | 可接受任意類型指針(int *、struct * 等) |
| 典型用途 | 字串處理、位元組緩衝區操作 | 泛型函式參數、記憶體分配回傳(malloc)、回調函式上下文傳遞 |
void * → 具體類型:必須顯式強制轉型,如 (char *)ptr 或 (int *)ptr。void *:隱式轉型安全,無需轉型。函式參數若需支援多種資料類型,優先使用 void * 搭配額外的類型標識參數;若僅處理字元資料,直接用 char * 語意更清晰。