Я новичок в программировании на C и знаю разницу между объявлением типа struct и объявлением структуры typedef. Я наткнулся на ответ, в котором говорится, что если мы определим struct наподобие:
typedef struct {
some members;
} struct_name;
Тогда это будет похоже на предоставление псевдонима анонимной структуре (так как у нее нет имени тега). Так что это не может быть использовано для предварительного объявления. Я не знаю, что означает предварительная декларация.
Кроме того, я хотел знать, что для следующего кода:
typedef struct NAME {
some members;
} struct_alias;
Есть ли разница между NAME и struct_alias? Или оба равны, поскольку struct_alias является псевдонимом struct NAME?
Кроме того, мы можем объявить переменную типа struct NAME следующим образом:
struct_alias variable1;
и/или как:
struct NAME variable2;
или как:
NAME variable3;