C 言語復習中
最近プロジェクトの関係で Objective-C を勉強しています。
ということで、C 言語の復習もしています。
C 言語は入門本をやったのと、前プロジェクトでちょっと修正したり関数追加したりくらい。
本は多分2冊くらいしか読んでいない。
- 作者: 林晴比古
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/02
- メディア: 単行本
- 購入: 3人 クリック: 61回
- この商品を含むブログ (40件) を見る
- 作者: 柴田望洋,肘井真一,高木宏典,赤尾浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/11/09
- メディア: 単行本
- 購入: 2人 クリック: 43回
- この商品を含むブログ (9件) を見る
そして、読みかけのが2冊あった…。
だめだな、私。
ということで、ポインタは難しい、難しい言われていますが、私にとっての難しさの根本は、色々な記号の使用方法を学ぶ必要があり、表現方法も様々あり、ちょっと使わないとすぐ忘れてしまうという感じです。
まず、main が自由に宣言できるのがもう、すごい自由だよね!!
#include <stdio.h> int main(void) { int a = 100; int *pa = &a; //ポインタの代入。 int x = *pa; //ポインタの値取得。 int b = 300; int *pb = &b; printf("data:a=%d b=%d x=%d pa=%d pb=%d\n", a, b, x, *pa, *pb); //data:a=100 b=300 x=100 pa=100 pb=300 *pa = 200; //ポインタの値を書き換え。 printf("data:a=%d b=%d x=%d pa=%d pb=%d\n", a, b, x, *pa, *pb); //data:a=200 b=300 x=100 pa=200 pb=300 pa = pb; //ポインタを書き換え。 printf("data:a=%d b=%d x=%d pa=%d pb=%d\n", a, b, x, *pa, *pb); //data:a=200 b=300 x=100 pa=300 pb=300 *pb = 400; printf("data:a=%d b=%d x=%d pa=%d pb=%d\n", a, b, x, *pa, *pb); //data:a=200 b=400 x=100 pa=400 pb=400 return 0; }