printf("%p\n\n", element); //0x1000020c0
table->head->element = element;
printf("%p\n\n", table->head->element); //0x1000020c0
У меня есть указатель на структуру, которая указывает на другую структуру, где хранится переменная char *. Проблема заключается в указателе (элементе char *), который отправляется этому методу, изменяется где-то в другом месте, и я не хочу, чтобы эти изменения влияли на элемент table-> head->. Просто сказал, что хочу сделать свои значения равными, а не ссылку.Назначение одинаковых значений двум указателям, не равным их ссылкам (указатели в C)
Я знал, что мы можем назначить одинаковые значения двум указателям следующим образом: * p1 = * p2. Тем не менее, я не знаю, как сделать это с помощью структур, я попробовал:
*(table->head->element) = *element;
Но это не сработало.
Надеюсь, я смогу прояснить свой вопрос.
'* таблица-> head-> element = * element;'? –
Не работает Я имею в виду, что я получаю EXC_BAD_ ACCESS (code = 1; ...) – fiz
, похоже, что вы не выделили место хотя бы для одного из указателей. –