0%

C语言 malloc的使用

malloc的使用

strlen求出的值没有计入串结尾的‘\ 0’字符,而strcpy却将复制它。所以这里分配的空间实际上是不够的,这将使strcpy的写入超过所分配空间的界限。习惯写法是:

1
2
p = malloc(strlen(buf) + 1);
strcpy(p, buf);

所以,如果没有+1,就要特别注意了。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道