2014年5月25日日曜日

開発環境

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

その他参考書籍

プールパズル(p.289)

test_sample289.c

#include <stdio.h>
#include <stdlib.h>

#include "sample289.h"

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=test_sample289.c sample289.c
OBJ=test_sample289.o sample289.o

all: test_sample289

test_sample289: $(OBJ)
 $(CC) $(CFLAGS) -o test_sample289 $(OBJ)

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

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

clean:
 rm -rf test_sample289 test_sample289.o sample289.o

入出力結果(Terminal)

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

0 コメント:

コメントを投稿