我有一个问题,我有一个指向内存区域的指针.我想用这个指针来创建一个整数数组.
基本上这就是我所拥有的,指向大小为100*300*2 = 60000字节的内存地址的指针
unsigned char *ptr = 0x00000000; // fictional point in memory goes up to 0x0000EA60
Run Code Online (Sandbox Code Playgroud)
我想要实现的是将此内存检查为大小为100*150 = 15000 ints = 60000字节的整数数组,如下所示:
unsigned int array[ 100 ][ 150 ];
Run Code Online (Sandbox Code Playgroud)
我假设它涉及一些铸造虽然我不确定如何制定它.任何帮助,将不胜感激.
nha*_*tdh 18
你可以将指针强制转换为unsigned int (*)[150].然后,它可以被用来作为如果它是2D阵列("如同",由于行为sizeof是不同的).
unsigned int (*array)[150] = (unsigned int (*)[150]) ptr;
Run Code Online (Sandbox Code Playgroud)