C - メモリとポインタ - 何を指しているの? - 関数引数, アドレス
Head First C ―頭とからだで覚えるCの基本、 David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の 2章(メモリとポインタ - 何を指しているの?)、p.49(コンパスマグネット)の解答を求めてみる。
Makefile
all: a.out
./a.out
a.out: main.c
cc main.c
コード
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)
% make
cc main.c
./a.out
停止!現在位置:[31, -63]
%