c - 如何 'clear'一个字符串数组?

标签 c pointers arrays

main(void) 中初始化之后:

char *params[MAXPARAMS] = {NULL};

params 传递给不同的函数。

我怎样才能像初始化时那样“重置”数组(在其他一些函数在其中存储字符串之后)?


编辑:params 用作参数列表,因此在某些操作后可能不会完全填充。我所说的“重置”是指:我不希望数组中留下任何字符串值,就像您在 Java清除字符串数组一样,但保持相同的数组大小。

最佳答案

考虑到内存分配是正确完成的并且没有被释放,我认为如果您的目标是保存数组的值,您需要检查 memset() 函数。请查看手册页 here .

否则,如果你想和初始化时一样的位置,你可以free()分配的内存,然后再次设置变量为NULL

请说明reset 是什么意思。届时我们将能够以更好的方式提供帮助。

关于c - 如何 'clear'一个字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26974082/

相关文章:

c++ - cc1.exe 系统错误 - 缺少 libwinpthread-1.dll - 但它不是

c - OpenSSL如何加载DER格式的CA证书

c - 具有 pcapng 格式文件的 Wireshark 解析器 - 访问部分/接口(interface)描述字段

c - 我不能将指针声明为全局变量

c++ - 数组作为 C++ 中的输出参数

c - 链表的两种实现方式 : which is better?

c - C中动态大小的数组

c - 输出参数中带有指向对象的指针的动态数组

javascript - 为什么 Object.assign 适用于数组?

javascript - 如何将对象数组转换为嵌套对象数组?