2018年10月9日火曜日

開発環境

  • OS: macOS Mojave - Apple
  • Text Editor: Emacs
  • コンパイラー: LLVM/Clang, GCC(gcc)
  • プログラミング言語: C

Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の6章(データ構造と動的メモリ - 架け橋を築く)、コードマグネット(p. 273)を取り組んでみる。

コードマグネット(p. 273)

Makefile

cc = cc

all: sample run

sample: sample.c
 cc sample.c -o sample

run: sample
 ./sample

コード

#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", i->name, i->opens, i->closes);
  }
}

int main() {
  island amity = {"アミティ", "09:00", "17:00", NULL};
  island craggy = {"くらっギー", "09:00", "17:00", NULL};
  island isla_nublar = {"イスラヌブラル", "09:00", "17:00", NULL};
  island shutter = {"シャッター", "09:00", "17:00", NULL};

  amity.next = &craggy;
  craggy.next = &isla_nublar;
  isla_nublar.next = &shutter;

  display(&amity);
}

入出力結果(Terminal)

$ make
cc sample.c -o sample
./sample
first: 1
come: 1
fingers: 10
shark: 1
days: 7
$

0 コメント:

コメントを投稿