いいえ、サンプル コードは有効な構文ではありません。コンパイルの試みはそれを示します。
あなたが求めているように見えるものに書き直すと、次の例になります。「プログラムの後半で (匿名構造体) ポインターをどのように参照しますか?」
int random_function(int random_variable) {
// Supposed Anonymous Struct Pointer, but invalid syntax.
struct struct_name *;
}
匿名のものを混ぜているようです。あなたの例は、構造に名前があり、変数がanonymousであると考えていることを示唆しています。これが発生すると、アクセスできなくなります。
Anonymous Struct Pointer の正しい例は次のようになります。
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
無名構造体へのポインタになります。変数は通常の方法でアクセスされます。