简单说就是在目标机命令行或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
本文介绍在C/C++中如何正确获取并传递数组的地址。特别指出,在shell或目标机命令行环境中,直接使用数组名并不会得到数组的起始地址,需要通过在数组名前添加&符号来实现这一目的。
2332

被折叠的 条评论
为什么被折叠?



