計算機科学のブログ

C - メモリとポインタ - 何を指しているの? - 配列

Head First C ―頭とからだで覚えるCの基本David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の 2章(メモリとポインタ - 何を指しているの?)、p.57(THE 恋愛ゲーム)の解答を求めてみる。

コード

main.c

#include <stdio.h>

int main()
{
    int contestants[] = {1, 2, 3};
    int *choice = contestants;
    contestants[0] = 2;
    contestants[1] = contestants[2];
    contestants[2] = *choice;
    printf("%i\n", contestants[2] == 2);
}

入出力結果(Terminal, Zsh)

% cc main.c && ./a.out
1
%