c - 将整个字符数组设置为一个值

标签 c arrays

假设我们有: char someArray[4]; 填充 {'a','b','c','d'} 我想将所有 4 个条目设置为 'f' 或任何其他字符。 不是单独执行 someArray[0] = 'f' (...) 有没有办法将它们全部设置为一个值?

最佳答案

仅仅因为这是一个字符数组,您可以使用 memset :

memset(someArray, 'f', sizeof(someArray));

如果你有一个其他的数组(比如 int),这个方法不一定对你有用,因为它设置了指定的字节数(对于 char 数组,这等同于数组)到第二个参数的值。因此,如果您尝试使用 int 数组执行此操作并使用非零值,memset 不会将该非零值分配给所有 ints 在数组中,而是每个 指定字节数的字节。

关于c - 将整个字符数组设置为一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4118890/

相关文章:

c++ - 传递与 `swprintf` %s"` 说明符匹配的 `char const*` 时 `L"的行为

c - 在一维数组中动态存储质数

C文件打开错误

c - 在 C 中传递多维数组

c - 获取被调用函数C的行号

c - 如何将 memset() 内存设置为特定模式而不是单个字节?

php - 删除编号数组中的重复项

JavaScript 怪异 - typeof [] === typeof {} 计算结果为 'true'

python - 如何找到二维数组中每一行的最大值?

python - 结合numpy多维数组