■ソースコード
#include <stdio.h>
#include <string.h>
// 文字列処理に string.h が必要
struct person{ // 個人データ
char name[40]; // 名前
struct person *next;
}; // セミコロン「;」が必要
int main(void){
struct person p1,p2,p3,*pointer;
strcpy(p1.name,"鈴木一郎");
strcpy(p2.name,"福留孝介");
strcpy(p3.name,"松井秀喜");
// ポインタをセット
p1.next = &p2; // 鈴木の次は福留
p2.next = &p3; // 福留の次は松井
p3.next = NULL; // 次はセットしない
pointer = &p1;
// NULL は「セットされていない」の意味
while(pointer!=NULL){
printf("名前=%s\n",pointer->name);
pointer=pointer->next;// 次のポインタ
}
}
■実行結果
>hellostructpointer.exe
名前=鈴木一郎
名前=福留孝介
名前=松井秀喜