Я новый посетитель в мире C, и я хотел бы прояснить несколько моментов относительно связанных списков.Петля через связанный список C
Я хотел бы создать петлю на список, состоящий из следующей структуры:
typedef struct _mystruct{
int data[10];
struct _mystruct *prev;
struct _mystruct *next;
} MyStruct;
В exemples я видел, были типа:
void myFunction(MyStruct **list){
MyStruct *tmp = *list;
while(tmp){
// instructions;
tmp=tmp->next;
}
}
Почему это возможно? После воздействия на *list
на tmp
, не изменится ли он *list
в то же время, будучи указателем? И не list
собирается указывать на последнее появление? Если да, почему бы нам не использовать напрямую *list
в цикле while?
Заранее благодарим за полезную помощь!
«[...] затрагивающей' * list' к 'tmp' [...]» Это называется инициализацией. – Downvoter
Спасибо за ваш комментарий, вот в чем мой вопрос. Он один там? Разве '' list' не будет затронут во время цикла? – Kathandrax