简单说就是在目标机命令行或shell调试时,数组名字不被当做数组起始地址。如要数组起始地址,应在数组名前加&符号。
比如有下面的全局变量和函数:
int arg[] = {123,456};
STATUS foo(int* parg);
在shell中或目标机命令行上输入 foo(arg) 时,传给foo函数的并不是数组arg的地址
而应该用 foo(&arg)才能达到和C/C++语言相同的效果。
转自Tony嵌入式论坛,地址:http://www.cevx.com/bbs/thread-24083-1-1.html