-5
假設我們有一段代碼:匿名結構指針
int random_function random_variable
(
struct struct_name *
);
這將是有效的語法?如果是這樣,那麼在程序的後面如何引用指針?
假設我們有一段代碼:匿名結構指針
int random_function random_variable
(
struct struct_name *
);
這將是有效的語法?如果是這樣,那麼在程序的後面如何引用指針?
不,示例代碼是無效的語法。編譯嘗試將顯示。
重寫你看到的內容是下面的例子,你問「如何在程序的後面引用(匿名結構)指針?」
int random_function(int random_variable) {
// Supposed Anonymous Struct Pointer, but invalid syntax.
struct struct_name *;
}
您似乎在混合什麼是匿名。你的例子暗示你認爲結構有一個名字和變量是匿名,如果可能發生就會使它無法訪問。
匿名結構指針的正確的例子是
int random_function(int random_variable) {
struct /* no structure tag here */ {
int a;
int b;
} *variable_name;
variable_name = malloc(sizeof(variable_name));
variable_name->a = 1;
variable_name->a = 2;
return variable_name->a;
}
在這裏你可以看到結構沒有標籤,這使得它的匿名結構。 variable_name
成爲指向匿名結構的指針。該變量以通常的方式訪問。