計算機科学のブログ

C - 構造体、共用体、ビットフィールド - 独自の構造を使う - フィールド

Head First C ―頭とからだで覚えるCの基本David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の 5章(構造体、共用体、ビットフィールド - 独自の構造を使う)、p.203(makeマグネット)の解答を求めてみる。

Makefile

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

コード

main.c

#include <stdio.h>
struct fish
{
    const char *name;
    const char *species;
    int teeth;
    int age;
};

void catalog(struct fish f)
{
    printf("%sは%sであり、歯は%i本あります。年齢は%i才です。\n",
           f.name, f.species, f.teeth, f.age);
}
int main()
{
    struct fish snappy = {"スナッピー", "ピラニア", 69, 4};
    catalog(snappy);
}

入出力結果(Terminal, Zsh)

% make
cc main.c && ./a.out
スナッピーはピラニアであり、歯は69本あります。年齢は4才です。
%