計算機科学のブログ

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

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

Makefile

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

コード

main.c

#include <stdio.h>

typedef struct
{
    float tank_capacity;
    int tank_psi;
    const char *suit_material;
} equipment;
typedef struct
{
    const char *name;
    equipment kit;
} diver;
void badge(diver d)
{
    printf("名前:%s タンク:%2.2f(%i) スーツ:%s\n",
           d.name, d.kit.tank_capacity, d.kit.tank_psi, d.kit.suit_material);
}
int main()
{
    diver randy = {"ランディ", {5.5, 3500, "ネオプレン"}};
    badge(randy);
}

入出力結果(Terminal, Zsh)

% make
cc main.c && ./a.out
名前:ランディ タンク:5.50(3500) スーツ:ネオプレン
%