計算機科学のブログ

C - メモリとポインタ - 何を指しているの? - アドレス

Head First C ―頭とからだで覚えるCの基本David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の 2章(メモリとポインタ - 何を指しているの?)、p.49(コンパスマグネット)の解答を求めてみる。

コード

main.c

#include <stdio.h>

void go_south_east(int *lat, int *lon)
{
    *lat = *lat - 1;
    *lon = *lon - 1;
}
int main()
{
    int latitude = 32;
    int longitude = -64;
    go_south_east(&latitude, &longitude);
    printf("停止!現在位置:[%i, %i]\n", latitude, longitude);
}

入出力結果(Terminal, Zsh)

% cc main.c && ./a.out
停止!現在位置:[31, -65]
%