此问题与C中与结构或数组相关的malloc
有关。我注意到有两种分配内存的方法,我无法分辨两者之间的区别。
char* arr = (char*) malloc(capacity * sizeof(char));
对
char* arr = malloc(capacity * sizeof(char));
[多余的(char*)
是什么?没有它,代码可以很好地编译并执行相同的结果。
在C ++中,您需要进行(char*)
强制转换,但是为C编译时,void *将自由转换为任何其他指针类型。
如果代码可能在两种语言之间共享,则进行强制转换不会产生任何费用。
一个多用途的存储空间,没有字节的位置。可以使用char *,然后再进行一次malloc对话。 se,请给我留下些空白。
Espero que tenha dado para entender!