我已经在这个项目上工作了一天多,我真的很困惑。我祈祷有人帮助解决这个问题。我的功能有问题insertItemList
。我不知道如何String
将测试文件中的linked list
. 这是一个家庭作业。这个项目比这大得多,但我把它简化为我需要帮助的地方。有人知道我做错了什么吗?
列表.h
#ifndef _list_h
#define _list_h
/*
* Defines a single list item.
*/
typedef char *ListItemT;
/*
* Defines ListP to be a POINTER to a list struct.
* (Define the list struct in the (.c) file.
*/
typedef struct ListT *ListP;
/*
* Returns a pointer to a new empty list.
* You may implement this list as a singly or doubly
* linked list.
*/
ListP newList();
/*
* Creates a new node, inserts the item into the
* new node and inserts the new node into the list
* after the current node.
* Current in then moved to the newly inserted node.
* NOTE: Impossible to insert at head of list.
*/
void insertItemList(ListP, ListItemT);
#endif
列表.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "List.h"
struct ListT
{
char INFO[20];
struct ListT *Next;
}*Head;
/*
* Returns a pointer to a new empty list.
* You may implement this list as a singly or doubly
* linked list.
*/
ListP newList()
{
// allocate memory for new list
struct ListT *newnode = malloc(sizeof(struct ListT));
return newnode;
}
/*
* Creates a new node, inserts the item into the
* new node and inserts the new node into the list
* after the current node.
* Current in then moved to the newly inserted node.
* NOTE: Impossible to insert at head of list.
*/
//where I'm having trouble
void insertItemList(ListP LOC, ListItemT DATA)
{
struct ListT *temp;
temp=(struct ListT *)malloc(sizeof(struct ListT));
strcpy(temp->INFO, DATA);
}
列表测试.c
#include <stdio.h>
#include <string.h>
#include "List.h"
int main()
{
// Create two lists
ListP list1 = newList();
ListP list2 = newList();
printf("\nList Creation Successful!\n");
// Insert one name into the first list
insertItemList( list1, "Alice" ); //Ive never seen a parameter like this before.
}