0

私はx86 assemblyを勉強していますが、次の宣言に出くわしました:

array1 DB 5 DUP(2 DUP('*'))

この宣言は何をしますか?

  1. array1サイズが で、要素数DB * 5 * 2 = 10が 10の配列 にスペースを割り当てます。*

  2. ærray1サイズDB * 5が 5**要素の という配列にスペースを割り当てます。これは、5 つ*の要素が破棄されることを意味します。

  3. array1サイズ[5][2]と 5 つ{'*', '*'}の要素を持つ、という多次元配列を割り当てます。

それで、この宣言は

char array1[10] = {'*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}

またはそれは同等ですか

char array1[5] = {'*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}

?

または多分:

char array1[5][2] = {{'*', '*'}, {'*', '*'}, {'*', '*'}, {'*', '*'}, {'*', '*'}}

?

4

1 に答える 1

1

コメントによると、宣言*はメモリ内に 10 個の連続した文字バイトを持つ配列を割り当てます。

于 2014-02-21T15:46:56.140 に答える