У меня есть цикл while, где в каждой итерации цикла while я создаю объект struct. Затем в конце цикла я добавляю его в конец связанного списка. Теперь я обеспокоен тем, что у меня есть одно и то же имя переменной, когда я каждый раз в цикле, но я не понимаю, как это работает после того, как я присоединю последний связанный объект к связанному списку, что происходит с остальными, которые я разделял, то же имя.Является ли mallocing объект таким образом незаконным?
Мой код:
struct Student{
char *name;
int IDno;
}Student;
someFunction(){
x = 0;
while(x!=6){
Student *name = malloc(sizeof(Student)); <----- Confusion here
addToLinkedList(LinkedListStruct,name);
}
Это хорошо, что у меня есть name
быть malloced каждый раз в цикле. Может кто-нибудь объяснить мне, что произойдет, если я malloc таким образом, добавьте его в конец связанного списка, а затем перейдите в следующий цикл и сделайте то же самое.
Эффективно применять результат в соответствующем типе, в данном случае 'Student *'. –
Это на самом деле ** очень плохо ** практика - http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc – Idos
@JohnSensebe, ничего не поделаешь. – SergeyA