С
struct {
int a;
}name;
вы уже определить переменную структуры, которая выделяет память для структуры (например, в стеке, когда это локальная переменная внутри функции). Затем, с int temp = 3;
, достаточно присвоить элементу структуры, как
name.a = temp;
Если вы хотите объявить STRUCT типа только, а затем использовать
struct name {
int a;
};
Затем вы можете определить любое количество Struct переменные на основе этого типа, как
struct name theName;
и сделать то же самое задание theName
членов в качестве Бове:
theName.a = temp;
Или, вы можете определить указатель на структуру, а затем должны выделить память себя:
struct name *namePtr;
namePtr = malloc(sizeof(struct name));
namePtr->a = temp;
Заметим также, что вы отметили свой вопрос как с C
и C++
- особенно с структурами, вы должны решить, какой язык взять - см. Differences between struct in C and C++.
struct a a не является указателем. –
'name.a = temp;' или 'name.a = 3;' done :) – billz
как насчет нет? name - это имя структуры. – billz