Q's software -4ページ目

型とポインタ

C 言語のポインタを理解する の応用編。型とポインタの関係について説明します。


変数の型によってメモリ上に作られる入れ物の大きさが変わります。ただし、ポインタ型は、実体の型がどうであれ、入れ物の大きさは同じです。

以下のように様々な型で変数が定義されると、

long a;
short b;
char c;

typedef struct _sss {
long s1;
short s2;
char s3;
char s4;
} sss;

sss d;

long *ap;
short *bp;
char *cp;
sss *dp;


次の図のようにメモリ上に変数(入れ物)が作られます。

$Q's software

ポインタ型は実体の型に依存せず同じサイズですが、実体の変数は型によって大きさが全く異なります。

各変数に以下のように値を代入すると、

ap = &a;
bp = &b;
cp = &c;
dp = &d;

a = 1;
b = 2;
c = 3;
d.s1 = 4;
d.s2 = 5;
d.s3 = 6;
d.s4 = 7;

次の図のようにメモリ上の実体に値が代入されます。

$Q's software

ポインタは実体の型がなにかを表していますが、本質的には同じものです。

人気ブログランキングへ ← 読んだらプチっとお願いします。

金沢将棋

iPhone の将棋アプリです。

金沢将棋で iPhone じゃなくてもいろいろなハードで発売されていますよね。○○将棋っていろいろありますが、正直、私には余り違いはわかりません。

買いました。他と全く比べてないですけど満足です。
たまに駒の動かしミスをして、それが「まった!」でないと直せず、「まった!」を使うとちゃんとした勝ちとして認定されないのがイラっとしますが、それ以外は十分遊べます。

Shogi ← ここから iTune の金沢将棋の説明にいきます。

  • タイトル画面です



  • 対戦設定



  • レベル設定
      レベル 1 ~ 20 なら負けることはないくらいです。レベル 20 ~ 28 は油断するとやられる感じで、レベル 29 以降は私にはなかなかつらいぞ!ですかね。コンピュータと対戦するとすこし注意力散漫でうっかりミスがおおくなるのも影響していると思いますが..なので、レベル的には弱すぎて相手にならないということはないはずです。


  • ゲーム画面

      iPhone でやるには少し画面が小さく最初は動かしづらいとも感じましたが、なれればノープロブレムです。


iPhone4 vs iPhone 3GS

Web ページみて解像度がやっぱり違うな~と思い、その様を表現したかったのですが、あまりうまく表現できない感じです (^^;
とりあえず、実際は 3GS ではそのままでは字が読めませんが、同じ画面の大きさでも iPhone4 はで文字が認識出て読めるんです。

iPhone 3GS


iPhone4