小编Luc*_*uca的帖子

通过双指针强制分配内存

我不清楚当你通过双指针转换分配的内存时会发生什么,如:

char **ptr;
ptr=(char *)malloc(sizeof(char)*value); 
for(i=0;i<value;i++)
   ptr[i]=(char **)malloc(sizeof(char *)*another_value);
Run Code Online (Sandbox Code Playgroud)

在malloc的第一次调用期间,void*被转换为char*所以,我可以使用*(ptr + i)访问它,但是在malloc的第二次调用期间我不明白为什么我需要将void*转换为char**,不足以将它投射到char*?

c pointers casting

0
推荐指数
1
解决办法
1216
查看次数

标签 统计

c ×1

casting ×1

pointers ×1