計算機科学のブログ

C - データ構造と動的メモリ - 架け橋を築く - 再帰構造体

Head First C ―頭とからだで覚えるCの基本David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の 6章(データ構造と動的メモリ - 架け橋を築く)、p.263(エクササイズ)の解答を求めてみる。

Makefile

main: main.c
	cc main.c && ./a.out

コード

main.c

#include <stdio.h>
typedef struct island
{
    char *name;
    char *opens;
    char *closes;
    struct island *next;
} island;
void display(island *start)
{
    for (island *i = start; i != NULL; i = i->next)
    {
        printf("名前:%s 営業時間:%s-%s\n",
               start->name, start->opens, start->closes);
    }
}
int main()
{
    island skull = {"スカル", "09:00", "17:00", NULL};
    display(&skull);
}

入出力結果(Terminal, Zsh)

% make
cc main.c && ./a.out
名前:スカル 営業時間:09:00-17:00
%