Ниже приводится часть кода, который написал для создания связного спискаопределение переменной в структуре
struct node
{ int data;
struct node *link;
}*head;
В приведенном выше исходного кода, я хочу спросить, что ли голова переменная "узла " или нет. Я думаю, что когда я объявлял его со структурой, поэтому он должен быть переменной для определенной структуры &, таким образом, содержать часть данных & адресную часть. Если я ошибаюсь, кто-нибудь может рассказать мне, что является роли * head & Это переменная или нет?
Теперь это вторая часть одного и того же исходного кода
void addbeg()
{
int d,g;
struct node *temp;
temp=(struct node *)malloc(sizeof(struct node));
}
Здесь void addbeg
функция, теперь мы объявили другую переменную struct node
, то почему мы выделения его памяти равна int
, поскольку он является переменной для узла структуры, поэтому он должен содержать размер указателя & a int
. Но почему все еще выделяет его память. Пожалуйста, устраните это сомнение.
Ну расскажите, пожалуйста, почему * являются * вы выделения памяти для одного 'struct'? К первому вопросу, '* head' является * указателем * для' struct node'. –
О, ничего себе, вы должны сначала изучить указатели и управление памятью в C (а также 'struct' заявление), иначе любой ответ будет смехотворно огромным. – ForceBru