我正在研究x86 assembly,我遇到了这个声明:
array1 DB 5 DUP(2 DUP('*'))
这个声明有什么作用?
为名为 的数组分配空间
array1
,大小DB * 5 * 2 = 10
为 10 个*
元素。为名为 的数组分配空间
ærray1
,其大小为DB * 5
5 个**
元素。这意味着有 5 个*
元素被丢弃。分配一个名为 的多维数组
array1
,具有大小[5][2]
和 5 个{'*', '*'}
元素。
那么,这个声明是否等同于
char array1[10] = {'*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}
还是相当于
char array1[5] = {'*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}
?
或者可能:
char array1[5][2] = {{'*', '*'}, {'*', '*'}, {'*', '*'}, {'*', '*'}, {'*', '*'}}
?