gpt4 book ai didi

c++ - 动态分配缓冲区(字符字符串)大小=i;使用malloc

转载 作者:行者123 更新时间:2023-11-30 20:07:06 24 4
gpt4 key购买 nike

scanf ("%d", &i);

这些代码是否相同//dynamic allocate buffer (string of char) size =i;

char *buffer = malloc (sizeof((*buffer)*(i+1)));

free(buffer);

char * buffer;
buffer = (char*) malloc (i+1);
free(buffer);

如果是,哪个更安全(更好)?

最佳答案

最佳实践是:

char *buffer = malloc(i + 1);

无需转换 malloc 的返回值,并且 sizeof(char) 由 C 标准定义为 1。

关于c++ - 动态分配缓冲区(字符字符串)大小=i;使用malloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com