按照int来解析返回值

int *p=(int *)malloc(20 * sizeof(int));
返回值分配的着一片内存的首地址,按照int来解析这句话怎么理解。

阅读 2.1k
2 个回答

malloc返回的类型是void*,也就是指向的内存区域元素的类型是空的,而要对这片内存进行操作,肯定要给定元素的类型,用(int*)则可以把这段内存的元素解析成int类型。

1、malloc返回的类型是void *,然后使用强制类型转换把void *转换成int *的类型,赋值给指向int的指针p。
2、malloc只是返回指定大小堆内存空间,而不同的指针类型则表明了对同一块内存的不同的解析。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进