希望在理解这两行之间的区别方面获得一些帮助:
int(*p)[20] = (int(*)[20]) malloc(sizeof(int) * 20);
int* y = (int*)malloc(sizeof(int) * 20);
如果我做:
int * tmp = p;
OR
int * tmp = y;
我得到了分配的数组/内存中第一个元素的地址。
希望更彻底地了解区别是什么以及我何时使用它们中的每一个?
除了问题:
这种铸造合法吗?请解释为什么以及如果它是合法的,tmp 等于什么?:
int(*p)[20] = (int(*)[20]) malloc(sizeof(int) * 20);
int * tmp = (int*) p;
感谢任何做出贡献的人!
真挚地,
鱼子:)