我在下面列出了一些示例代碼,問題是如果有一種方法讓函數名從struct_name訪問數值的值?函數指針:訪問結構中的數據?
typedef struct struct_name {
int number
void (*func)();
} * struct_name_ptr;
void function_name() {
//access number from struct
}
main() {
struct_name_ptr newobject;
newobject->func=&function_name;
newobject->func(); //can it print the value of the number in the structure above?
}
除非你改變'func'的簽名就可以接受參數是不可能的。 – UmNyobe
看到這個問題[如何在C中模擬OO風格的多態?](http://stackoverflow.com/questions/524033/how-can-i-simulate-oo-style-polymorphism-in-c) –
這不能工作;你已經將'struct_name_ptr'聲明爲一個指針,'newobject'指向未定義的內存,一個解引用是未定義的行爲 – user411313