こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

c言語の問題です。解説と解答をお願いします

(1)
doube a[3][4]で宣言された2次元配列の要素a[y][x]に割り当てられるメモリのアドレス&a[y][x]を数式で表せ。x∈{0,1,2,3},y∈{0,1,2}である。

(2)
下記の宣言文によって複数個の配列要素に初期値を代入した。各配列要素に代入される値を説明しなさい。
char b[]={‘X’,’Y’,’Z’};
char c[]=“xyz”;
char *d[]={“ONE”,”TWO”,”THREE”};
int e[3][2]={1,3,5,7,9,11};

お願いします。

投稿日時 - 2020-07-31 20:15:08

QNo.9779774

困ってます

質問者が選んだベストアンサー

&a[0][0] = pとする。
&a[0][1] = p + sizeof(double)
&a[0][2] = p + 2 * sizeof(double)
&a[0][3] = p + 3 * sizeof(double)
&a[1][0] = p + 4 * sizeof(double)
&a[1][1] = p + 5 * sizeof(double)
&a[1][2] = p + 6 * sizeof(double)
&a[1][3] = p + 7 * sizeof(double)
&a[2][0] = p + 8 * sizeof(double)
&a[2][1] = p + 9 * sizeof(double)
&a[2][2] = p + 10 * sizeof(double)
&a[2][3] = p + 11 * sizeof(double)

b[0] = 'X', b[1] = 'Y', b[2] = 'Z'
c[0] = 'x', c[1] = 'y', c[2] = 'z', c[3] = '\0'
d[0] = "ONE", d[1] = "TWO", d[2] = "THREE"
e[0][0] = 1, e[0][1] = 3, e[1][0] = 5, e[1][1] = 7, e[2][0] = 9, e[2][1] = 11

投稿日時 - 2020-07-31 22:57:52

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>&a[0][0] = pとする。

これは、&p[y][x] = p + (4 * y + x) * sizeof(double)

投稿日時 - 2020-07-31 23:45:44

あなたにオススメの質問