2010-05-13から1日間の記事一覧

SWAPマクロ改良

主な変更点 コメント整備 入れ替えるオブジェクトのサイズチェックを行い、サイズが異なる場合、入れ替えを行わないに修正。 サンプルドライバ結果表示の改善 識別子が衝突しにくいように、一時変数名、型名を長くした。 #include <stdio.h> /* オブジェクトa, bの値</stdio.h>…

配列の配列

C言語で配列とポインタの理解は第一関門だと思う。私が、C言語のスキルを試すときによくやる質問は次のような物だ。 以下の違いを説明せよ。 1)int a[2][3]; 2)int a[3][2]; 3)int *a[3]; 4)int (*a)[3]; 5)int **a; 普通にCを書ける人でも、これに満足に答…

ポインタの配列

前のエントリのお題を再掲する。 以下の違いを説明せよ。 1)int a[2][3]; 2)int a[3][2]; 3)int *a[3]; 4)int (*a)[3]; 5)int **a; 次は3)のポインタの配列がどのようにメモリ上に配置されるかを見る。お題はint *a[3]であるが、扱いやすさと、実際のコード…