2014年9月5日金曜日

開発環境

Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の6章(データ構造と動的メモリ: 架け橋を築く)、自分で考えてみよう(p.289)を解いてみる。

その他参考書籍

自分で考えてみよう(p.289)

コード(BBEdit, Emacs)

sample289.c

#include <stdio.h>

#include "island.h"

void display(island *start)
{
  island *i = start;
  for (; i != NULL; i = i->next)
    printf("名前:%s 営業時間:%s-%s\n", i->name, i->opens, i->closes);
}

void release(island *start)
{
  island *i = start;
  island *next = NULL;
  for (; i != NULL; i = next) {
    next = i->next;
    free(i->name);
    free(i);
  }
}

int main(int argc, char *argv[])
{
  island *start = NULL;
  island *i = NULL;
  island *next = NULL;
  char name[80];

  for(;fgets(name, 80, stdin) != NULL; i = next) {
    next = create(name);
    if (start == NULL)
      start = next;
    if (i != NULL)
      i->next = next;
  }

  display(start);
  release(start);
  
  return (0);
}

Makefile

CC=cc
CFLAGS=-g -Wall
SRC=sample289.c
OBJ=sample289.o

all: sample289

sample289: sample289.o
 $(CC) $(CFLAGS) $(OBJ) -o sample289

sample289.o: island.h sample289.c
 $(CC) $(CFLAGS) -c sample289.c -o sample289.o

clear:
 rm -rf sample289 $(OBJ)

入出力結果(Terminal)

$ make && ./sample289
cc -g -Wall -c sample289.c -o sample289.o
cc -g -Wall sample289.o -o sample289
アトランティス
ティッチマーシュ島
名前:アトランティス
 営業時間:09:00-17:00
名前:ティッチマーシュ島
 営業時間:09:00-17:00
$

0 コメント:

コメントを投稿