Cast void pointer to integer array
c, casting, memory
Solution
You can cast the pointer to `unsigned int (*)[150]`. It can then be used as if it is a 2D array ("as if", since behavior of `sizeof` is different).
unsigned int (*array)[150] = (unsigned int (*)[150]) ptr;
Problem
I have a problem where I have a pointer to an area in memory. I would like to use this pointer to create an integer array. Essentially this is what I have, a pointer to a memory address of size 100*300*2 = 60000 bytes ``` unsigned char *ptr = 0x00000000; // fictional point in memory goes up to 0x0000EA60 ``` What i would like to achieve is to examine this memory as an integer array of size 100*150 = 15000 ints = 60000 bytes, like this: ``` unsigned int array[ 100 ][ 150 ]; ``` I'm assuming it involves some casting though i'm not sure exactly how to formulate it. Any help would be appreciated.