『Cパズルブック』(Alan R.Feuer, 1985)
[Mac M2 Pro 12CPU, macOS Ventura 13.3.1, clang 14.0.3]
問6.3のコードと出力は以下の通りです。
取り立てて難しいところはありませんでした。LLDBデバッガで2次元配列、1次元配列のメモリ格納値を確認しました。
#include "defs.h"
int a[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int *pa[3] = {
a[0], a[1], a[2]};
int *p = a[0];
int main() {
int i;
for(i = 0; i < 3; i++){
PRINT3(d, a[i][2-i], *a[i], *(*(a+i)+i));
}
NL;
for(i = 0; i < 3; i++){
PRINT2(d, *pa[i], p[i]);
}
return 0;
}
value = 3 value = 1 value = 1
value = 5 value = 4 value = 5
value = 7 value = 7 value = 9
value = 1 value = 1
value = 4 value = 2
value = 7 value = 3