首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言指針類型解析:char* 與 void* 的異同與用途

     編輯:程式設計綜合問答

核心差異

特性char *void *
資料類型明確性指向字元/位元組,可直接解引用存取資料類型未知,不可直接解引用
通用性僅能接收 char * 類型引數可接受任意類型指針(int *、struct * 等)
典型用途字串處理、位元組緩衝區操作泛型函式參數、記憶體分配回傳(malloc)、回調函式上下文傳遞

轉換規則

  • void * → 具體類型:必須顯式強制轉型,如 (char *)ptr 或 (int *)ptr。
  • 具體類型 → void *:隱式轉型安全,無需轉型。

設計建議

函式參數若需支援多種資料類型,優先使用 void * 搭配額外的類型標識參數;若僅處理字元資料,直接用 char * 語意更清晰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved