簡體   English   中英

函數指針帶(void *)

[英]Function pointer with (void*)

在C中,函數指針(void*)在做什么:

    int (*fn) (void*)

如果參數為空,那么它應該是:

    int (*fn) ()

我的理解是void*是大塊的記憶。 void* mem表示指向一塊內存的mem 但是沒有名字的是什么(void*)

該函數指針聲明不要求您給void*一個名稱。 它只需要一個類型來定義參數列表。

這類似於:

void my_function(int x);

和...一樣有效

void my_function(int);

void *是一個匿名指針。 它指定一個指針參數,而不指示指向的特定數據類型。

未命名的參數與沒有參數不同。 聲明:

int (*fn)(void*);

僅表明fn是一個帶有void*參數的函數指針。 參數名稱是無關緊要的(並且僅在函數實現中有意義,其中它是局部變量的名稱)。

(雖然在函數聲明中參數名稱不是必需的,但是對於讀取代碼的人來說,識別參數是有用的。)

這意味着fn是“將一塊內存作為參數並返回一個int的任何函數”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM