gpt4 book ai didi

c - 将 char 数组初始化为 '\0' 时会发生什么?

转载 作者:行者123 更新时间:2023-12-04 10:30:36 24 4
gpt4 key购买 nike

我有一个大小为 512 的字符数组,即

char buffer [512];

这个变量经过某个点修改为this

buffer [40] = '\0';

这个赋值对变量做了什么?它是否将数组中的前 40 个字符初始化为 null?

最佳答案

没有。它将值 NUL 存储在数组中的第 41 个位置。

将前40个字符初始化为NUL

memset(buffer, '\0', 40);

要在编译时将整个缓冲区初始化为 NUL,请尝试

char buffer[512] = {0}; 

char buffer[512] = "";

要在运行时初始化它,尝试

memset(buffer, '\0', sizeof (buffer));

关于c - 将 char 数组初始化为 '\0' 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8177295/

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