首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C风格编码与动态数组

C风格编码与动态数组
EN

Stack Overflow用户
提问于 2019-11-05 21:59:36
回答 2查看 48关注 0票数 0

这个问题涉及到C中与结构或数组关联的malloc。我注意到有两种分配内存的方法,我无法区分它们之间的区别。

代码语言:javascript
复制
char* arr = (char*) malloc(capacity * sizeof(char));

对比

代码语言:javascript
复制
char* arr =  malloc(capacity * sizeof(char));

额外的(char*)是什么?代码在没有它的情况下编译得很好,并执行相同的结果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-05 22:05:41

在C++中,您需要执行(char*)强制转换,但是在为C编译时,void*将自由转换为任何其他指针类型。

如果代码可能在两种语言之间共享,那么将强制转换放在其中是不需要花费的。

票数 0
EN

Stack Overflow用户

发布于 2019-11-05 22:13:50

函数马洛返回一个指向分配内存块开头的空指针。在C中,空指针可以隐式和显式地转换到任何类型,这就是为什么这两行代码在C中本质上是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58720126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档