[英]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.