計算機科学のブログ

ほしい物リスト

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

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

Makefile

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

コード

main.c

#include <stdio.h>

typedef struct
{
    unsigned int first_visit : 1;
    unsigned int come_again : 1;
    unsigned int fingers_lost : 4;
    unsigned int shark_attack : 1;
    unsigned int days_a_week : 3;
} survey;
int main()
{
    survey s = {1, 1, 10, 1, 7};
    printf("%i, %i, %i, %i, %i\n",
           s.first_visit, s.come_again,
           s.fingers_lost, s.shark_attack,
           s.days_a_week);
}

入出力結果(Terminal, Zsh)

% make
cc main.c && ./a.out
1, 1, 10, 1, 7
%