array=(int*)malloc(arraysize*sizeof(int)); 这

loadinghnu 2003-08-12 04:20:00
int*) 是什么作用

这个句子什么作用?
...全文
705 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy84920 2003-10-11
  • 打赏
  • 举报
回复 2
建议去看看stdio.h头文件.

看看malloc的原形.

它是返回void *.所以要想把申请的空间赋给一个int *, 则需要强制类型转换.

因为不存在从void * 到 int * (或任何其它类型)的隐式转换.

相反,存在int *,到 void *的隐式转换.

"隐式转换"就相当于是从 int 到double 的转换一样的意思,不需要强制!
hncw13 2003-10-11
  • 打赏
  • 举报
回复
http://expert.csdn.net/expert/deeptree/contentbar.asp?myie=ie
Lymtics 2003-08-12
  • 打赏
  • 举报
回复
同意 malloc 返回 void*
dddd8888 2003-08-12
  • 打赏
  • 举报
回复
强制转换成int*,否则可能有问题
loadinghnu 2003-08-12
  • 打赏
  • 举报
回复
忘了 告诉了 这前面有一段 程序

声明了int arraysize
int *array

这里的INT* 是不是就是说这个指针的类型啊
我记得 定义指针的时候 不赋值不好吧?!?!?

那么直接写 int * array=(int*)malloc(arraysize*sizeof(int))
还是写 int * array=malloc(arraysize*sizeof(int))

? 可以吗?
ehhl 2003-08-12
  • 打赏
  • 举报
回复
int * 是转型吧,申请这么大arraysize*sizeof(int)的一块内存给array
flybird66 2003-08-12
  • 打赏
  • 举报
回复
强制转换,在这里是声明

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧