如果我像这样分配一个 C 数组:
int array[ 5 ];
然后,只设置一个对象:
array[ 0 ] = 7;
我如何检查所有其他键(array[1]
、array[2]
、...)是否都存储了一个值? (当然,在这种情况下,它们不是。)
有没有类似PHP的isset()
的函数?
if ( isset(array[ 1 ]) ) ...
最佳答案
C 中没有这样的东西。静态数组的内容总是“设置”的。但是,您可以填写一些特殊值以假装它未初始化,例如
// make sure this value isn't really used.
#define UNINITIALIZED 0xcdcdcdcd
int array[5] = {UNINITIALIZED, UNINITIALIZED, UNINITIALIZED, UNINITIALIZED, UNINITIALIZED};
array[0] = 7;
if (array[1] != UNINITIALIZED) {
...
关于c - 如何检查c中是否为 "set",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3647435/