簡體   English   中英

在C編程中定義並初始化此數據類型

[英]Define and initialise this datatype in C programming

有人能告訴我這是否是這個數據類型的正確定義,以及我初始化它的方式是否正確?

typedef int const * (* const DataOne)(const int *);

=>上面的數據類型顯示了一個指向函數的常量指針,該函數將指向常量int的指針作為參數並返回指向常量int的指針。

=>初始化和聲明: DataOne = &myFunction(7);

typedef int const * (* const DataOne)(const int *);

=>上面的數據類型顯示了一個指向函數的常量指針,該函數將指向常量int的指針作為參數並返回指向常量int的指針。

正確。

=>初始化和聲明:DataOne =&myFunction(7);

不正確。 函數指針賦值不能在函數調用上進行(即,您不能為參數提供任何實際參數)。 此外,DataOne是一種類型,而不是變量。 所以,它應該看起來像這樣:

int const * myFunction(const int*);
DataOne myPointer = myFunction;  // &myFunction would also work

聲明沒有類型的等效函數指針:

int const * myFunction(const int*);
int const * (* const functionPointer)(const int *) = myFunction;

暫無
暫無

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

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