C样式编码和动态数组

问题描述 投票:0回答:2

此问题与C中与结构或数组相关的malloc有关。我注意到有两种分配内存的方法,我无法分辨两者之间的区别。

char* arr = (char*) malloc(capacity * sizeof(char));

char* arr =  malloc(capacity * sizeof(char));

[多余的(char*)是什么?没有它,代码可以很好地编译并执行相同的结果。

c arrays dynamic-memory-allocation
2个回答
0
投票

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

如果代码可能在两种语言之间共享,则进行强制转换不会产生任何费用。


0
投票

一个多用途的存储空间,没有字节的位置。可以使用char *,然后再进行一次malloc对话。 se,请给我留下些空白。

Espero que tenha dado para entender!

© www.soinside.com 2019 - 2024. All rights reserved.