检查某个索引处的数组是否在 C 中具有未初始化的值

标签 c

我有一个 char 数组,其中一些索引有 char 但有些未初始化。我只想对那些有值的操作进行操作,但是当我尝试使用 ""strcmp 它不起作用,因为它们是用垃圾值初始化的,并且不是'空。我该如何检查?

最佳答案

变量没有“空”值这样的东西,因此无法仅通过查看来确定数组元素(或任何变量)是否已初始化。未初始化的对象具有不确定 值。尝试读取它可能会产生任何值,实际上可能会调用 undefined behavior在某些情况下。

处理这个问题的方法是跟踪以某种方式写入了哪些数组元素。

关于检查某个索引处的数组是否在 C 中具有未初始化的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60200686/

相关文章:

c - 提取由空格分隔的数字的最佳方法?在 C

c - c11 _Generic 通用关联的结果表达式的每个分支是否都必须有效?

ntdll.dll 中导出方法的调用约定

c - 用于确定进程拥有的套接字的 Linux API

C 编程,关于指针的困惑

c - 如何在 C 中将数组转换为二维矩阵而不分配额外的内存?

三元运算符能否扩展为 C 宏中的 if–else 语句?

c - 位摆弄黑客

c - 打印 INT 的最大值

c - 什么情况下无法展开循环?