提问人:Hayato 提问时间:11/11/2021 更新时间:11/11/2021 访问量:160
如何摆脱动态分配的char*的垃圾值
How to get rid of Garbage value of char* dynamically allocated
问:
我正在尝试弄清楚如何在动态分配的 char* str 中没有垃圾值。
char* str = (char*)malloc(10*sizeof(char));
因为我想用这个char*来连接字符串,所以我想知道如何没有垃圾值,如下所示,
printf("str looks like this %s\n",str);
则输出为
譁�蟄怜
此外,当我使用 Ubuntu 时会发生这种情况,但 mac 不会发生这种情况。 如何确保它没有垃圾值,以便以后可以很好地连接?
答:
0赞
2 revs, 2 users 95%chux - Reinstate Monica
#1
...如何不具有垃圾价值...
如何确保它没有垃圾值,以便以后可以很好地连接?
用于将分配的内存填零。calloc()
char* str = calloc(10, sizeof *str);
if (str) {
printf("str looks like this <%s>\n",str);
}
0赞
0___________
11/11/2021
#2
最昂贵的方法是使用函数。calloc
char* str = calloc(10, sizeof(*str));
最快的方法:
char* str = malloc(10 * sizeof(*str));
*str = 0;
评论