0
我有以下代碼:sizeof運算指針陣列
typedef struct
{
int a;
int b;
} Hello;
typedef struct
{
char c;
int d;
} World;
Hello hello[10][10];
World world[5];
然後我有以下功能:
void getInfo(Hello hello_p[][10], World* world_p)
{
// Here I suppose to get the size of pointer to the array of hello and world
sizeof(hello_p);
sizeof(world_p);
}
void getHello(Hello (** hello_p)[10])
{
hello_p = hello;
}
void getWorld(World ** world_p)
{
world_p = world;
}
然後我調用函數等:
Hello (*hello_p)[10] = NULL;
World *world_p = NULL;
getHello(&hello_p);
getWorld(&world_p);
getInfo(hello_p, world_p);
那麼在getInfo函數中,我可以獲得指向hello
和world
數組指針的大小嗎?
不,所有的指針是相同的大小,和一個指針的大小,而不是陣列。 –