送交者: Yush 于 2009-03-14, 14:09:14:
回答: 呵呵,数组名不等同于指针常量 由 eng 于 2009-03-14, 13:40:59:
例如:
int a[10], *p;
p=a;
16为编译器生成的代码,相当于汇编:
mov ax, offset a
mov p, ax
也就是说,C中的a相当于汇编中的offset a(如果a在函数内定义,汇编中的offset a有可能是SI加上一个常数偏移),是个嵌入代码中的常数,代码载入内存后开始运行前即存在,运行时不改变。