gpt4 book ai didi

C 中的 Char 数组未初始化为空

转载 作者:行者123 更新时间:2023-11-30 21:12:51 25 4
gpt4 key购买 nike

我有一个字符数组来收集名称,但位置没有初始化为空。如果输入任何值,则其余位置将为空,但如果不输入任何值,则某些位置将填充一些“奇怪”的字符。我该如何解决这个问题?

最佳答案

取决于您初始化数组的方式。对于静态分配的数组(函数外部未动态分配的数组):

char arr[20] = {0};

void function( void ) {
// stuff happens here to the array
}

对于自动数组(函数范围内未动态分配的数组):

void function( void ) {
char arr[20] = {0};
// stuff happens to the array and it cannot
// be accessed from the outside the function
}

对于动态数组,请使用 calloc()动态分配并初始化为0:

size_t len = 20;
char *arr = calloc ( len , sizeof(char));

您还可以使用memset()清除数组:

char arr[20];
memset (arr, 0 , sizeof(arr));

关于C 中的 Char 数组未初始化为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926014/

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