-2
私は適切なリンクリストを作成するコードを書いています。このプログラムerrors 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;
}
へ
変更は、テキストを投稿し、テキストの画像を投稿しないでください。コピー/ペーストであなたは知っています... –
まず、 'cadt_create_list()'関数の前方宣言が必要です。 –
ようこそ! ['malloc()'と 'C 'のファミリーの戻り値をキャストしない理由についてのこのディスカッションを参照してください。](http://stackoverflow.com/q/605845/2173917)。 –