計算機科学のブログ

C - メモリとポインタ - 何を指しているの? - ポインタ演算 1

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

Makefile

all: a.out
	./a.out

a.out: main.c
	cc main.c

コード

main.c

#include <stdio.h>

void skip(char *msg)
{
    puts(msg + 6);
    puts(msg + (7 - 1));
}
int main()
{
    char *msg_from_amy = "Don't call me";
    skip(msg_from_amy);
}

入出力結果(Terminal, Zsh)

% make
cc main.c
./a.out
call me
call me
%