I am writing code to create a proper link lists. please tell the errors in this programerrors while compiling
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef void* cadtpointer;
struct cadtlist
{
cadtpointer data;
struct cadtlist* next;
}; /* structure*/
struct cadtlist* cadt_list_init( )
{
struct cadtlist * temp, * head,* list;
int num;
char *p, s[100];
printf(" enter the number of nodes to be created");
while (fgets(s, sizeof(s), stdin))
{
num = strtol(s, &p, 10);
if (p == s || *p != '\n')
{
printf("Please enter an integer: ");
}
else break;
}
while (num != 0)
{
if(NULL != list )
{
list->next = cadt_create_list(temp);
}
else
{
list = cadt_create_list(temp);
head = list;
}
num--;
}
}
struct cadtlist* cadt_create_list(struct cadtlist * list)
{
int n;
char * data;
struct cadtlist * newnode;
newnode = ( struct cadtlist *) malloc( sizeof(struct cadtlist));
if( NULL != newnode )
{
printf(" enter the data to be added");
scanf("%s", data);
n= cadt_add_list(data,newnode);
if( 1 == n)
return newnode;
}
else
{
printf(" error while allocating memory");
exit(1);
}
}
struct cadtlist* cadt_add_list( char* item,struct cadtlist * list)
{
list->data = item;
if(NULL == list->data)
{
return list;
}
else
{
printf(" error while adding data");
exit(1);
}
}
int main()
{
struct cadtlist* list1;
list1 = cadt_list_init();
return 0;
}