初心者がC言語のポインタをブライト・ノア的に解説してみた
『C実践プログラミング』を参考にやってみた。
C
earth_federation.c
#include <stdio.h> int main() { char gundam; char *bright_command_ptr; gundam = 'A'; printf("Gundam pilot: %c\n", gundam); bright_command_ptr = &gundam; *bright_command_ptr = 'S'; printf("Bright Command: %c\n", *bright_command_ptr); printf("Gundam pilot: %c\n", gundam); return 0; }
『*』と『&』の扱いに注意
gundam 変数
&gundam 変数gundamのアドレス(ポインタ)を返す
bright_command_ptr ポインタ
("bright_command_ptr = &gundam"でbright_command_ptrは変数gundamを指す)
*bright_command_ptr ポインタが指しているオブジェクトを返す。
解説
地球連邦軍(Earth Federation).c
ガンダム配備
*ブライトを艦長に任命
ガンダムに搭乗 = アムロ('A')
ブライトに指揮権 = &ガンダムの搭乗者を任命
*ブライトが艦長命令を下す(ガンダムの搭乗者を指示) = セイラ('S')に搭乗させる。
実行結果
Gundam pilot: A Bright Command: S Gundam pilot: S
う〜んいまいち?(´・ω・`)