【发布时间】:2019-08-07 15:17:26
【问题描述】:
我想在 C 中创建一个多维数组指针,并在内存中具有特定的起始地址。我不完全理解正确的语法。我想要完成的事情如下:
unsigned char (*vptr)[240][320] = (unsigned char*)0x40000000;
其中
vptr[0][0] = 2; 会将 2 写入地址 0x40000000;
vptr[0][1 ] = 3; 会将 3 写入地址 0x40000001;
...
vptr[1][0] = 4; 会将 4 写入地址 0x40000240;
所以基本上我的 vptr 在功能上等同于
unsigned char vptr[240][320] = {....};
其中 &vptr == 0x40000000。
有人可以写下这应该怎么做吗? 非常感谢您的帮助。
【问题讨论】:
标签: c arrays pointers initialization