Извините за задание основного вопроса, я изучаю C, и я запутался в присвоении значения для списка.Я запутался с моим собственным вопросом, который всплывает в моей голове ..: (
Так, например, у меня есть структура ниже
typedef struct {
int value_in_use;
} structA;
typedef struct structB {
structA conn;
struct structB *next, *prev;
} structB
typedef struct {
structB *head, *tail;
} structC;
, и я хочу присвоить значение "value_in_use"«равно 1. Я совершенно сбит с толку, поскольку, как я понимаю, в списке мне нужно сначала пройтись от головы (StructC), и мне нужно идти внутрь списка, пока я не попаду в structA и не назначу ему значение.Так что-то вроде
structC *C = NULL;
C = (structC *) malloc(sizeof(structC));
int assign=1;
&C->structB.head->conn.value_in_use=assign;
Между тем, я подумал, что на самом деле могу назначить указатель на structA напрямую и присвоить ему значение. Поэтому я могу просто сказать
structA *ue = NULL;
ue = (structA *) malloc(sizeof(structA));
ue->value_in_use = 100;
Как этоотличаются для присвоения значения списка во время выполнения в первой части и второй части? Я полагаю, что я могу использовать оба для присвоения значения (или?) ..
Большое спасибо за то, что поделились своими знаниями со мной.