Here is an example of a list with a couple functons defined such as Addnode and Display.
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct node_s
{
char * name;
node_s *next;
}Node_t;
void Addnode(Node_t **);
void Display(const Node_t *);
int main()
{
Node_t *list = NULL;
const size = 20;
Addnode(&list);
Addnode(&list);
Display(list);
return 0;
}
void Addnode( Node_t **hp)
{
Node_t *newp;
const size = 20;
char newname[size];
printf("Enter new name: ");
fgets(newname,20,stdin);
newname[strlen(newname) - 1] = '\0';
if(*hp == NULL)
{
*hp = (Node_t *) malloc (sizeof(Node_t));
(*hp)->next = NULL;
(*hp)->name = (char *) malloc (sizeof(char) * size);
strcpy((*hp)->name,newname);
printf("hp name %s\n", (*hp)->name);
}
else
{
newp = (Node_t *) malloc (sizeof(Node_t));
newp->next = NULL;
newp->name = (char *) malloc (sizeof(char) * size);
strcpy(newp->name, newname);
printf("newp name %s\n", newp->name);
newp->next = *hp;
*hp = newp;
}
}
void Display(const Node_t *hp)
{
while(hp)
{
printf("\nNode name member is %s", hp->name);
hp = hp->next;
}
}