Strcpy and malloc issues
Posted
by mrblippy
on Stack Overflow
See other posts from Stack Overflow
or by mrblippy
Published on 2010-04-27T09:25:11Z
Indexed on
2010/04/27
9:33 UTC
Read the original article
Hit count: 364
c
Hi, i am having trouble getting a method relating to a linked list working, i get the errors: assignment makes pointer from integer without a cast and passing argument 1 of âstrcpyâ makes pointer from integer without a cast. i have tried to include all the relevant code, but let me know if you need more info. thanks.
struct unit
{
char code[5];
char *name;
node_ptr students;
};
typedef struct node *node_ptr;
struct node
{
int student_id;
char *studentname;
node_ptr next;
};
void enrol_student(struct unit u[], int n)
{
int i, p;
int student_id = 0;
char code_to_enrol[7];
char buffer[100];
node_ptr studentslist;
scanf("%s\n", code_to_enrol);
for(i=0; i <= n; i++)
{
studentslist = u[i].students;
if(strcmp(u[i].code ,code_to_enrol)<=0)
{
scanf("enter student details %d %s\n", &studentID, buffer);
p = (char *) malloc (strlen(buffer)+1);
strcpy(p, buffer);
insert_in_order(student_id, buffer, studentslist);
}
}
}
void insert_in_order(int n, char *i, node_ptr list)
{
node_ptr before = list;
node_ptr students = (node_ptr) malloc(sizeof(struct node));
students->ID = n;
students->name = *i;
while(before->next && (before->next->ID < n))
{
before = before->next;
}
students->next = before->next;
before->next = students;
}
© Stack Overflow or respective owner