線形リスト
戻る
::::::::::::::
List.c
::::::::::::::
/**
* $Id: list-by-c2.html,v 1.1 2009/06/22 16:12:16 kishi Exp kishi $
* @author KISHI Yasuhiro
*/
#include <stdio.h>
typedef struct list {
char* value;
struct list *next;
}
LIST;
LIST* init_list( LIST *p ) {
p = ( LIST* ) malloc( sizeof( LIST ) );
p->next = NULL;
return p;
}
void append( LIST *p, char* value ) {
LIST * temp = p;
while ( temp->next != NULL ) {
temp = temp->next;
}
LIST* new = ( LIST* ) malloc( sizeof( LIST ) );
temp->next = new;
new->value = value;
new->next = NULL;
}
void enumerate( LIST* p ) {
p = p->next;
while ( p->next != NULL ) {
printf( "%s\n", p->value );
p = p->next;
}
printf( "%s\n", p->value );
}
int
main () {
LIST * head;
head = init_list( head );
append( head, "ABC" );
append( head, "XYZ" );
enumerate( head );
return 0;
}
■実行結果
$ ./List.exe
ABC
XYZ
戻る