c - 创建的 C 数组的 Objective-C 初始值

标签 c objective-c arrays memset

我创建了一个数组,类似于经典 C(不是 NSArray 或其子项之一)- 类似于 BOOL i[5];。我想让它的所有值都等于 NO。

首先,我没有找到有关此类数组初始值的任何信息(我知道在经典 C 中它们将是未定义的,但不确切了解 Objective-C。我找到了有关类及其类的信息内部数据 [在分配后,没有初始化],但与简单数据类型无关)。

第二,如果我应该手动设置数组值 - 我应该使用 memset(...); 还是其他的东西?

为了防止可能出现的问题...我想将此构造用作临时 bool 标志的数组,并且不认为它被证明可以在这里使用类似 NSArray 的东西。

最佳答案

如果 BOOL i[5] 是 ObjC 类的 ivar,它的内容将被初始化(memset-ed)为 0。

+alloc method 中所述:

... memory for all other instance variables is set to 0.


要在其他情况下将数组设置为全否,您可以使用

memset(i, 0, sizeof(i));

关于c - 创建的 C 数组的 Objective-C 初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3021620/

相关文章:

c++ - 你如何在 vi 中使用标记?

objective-c - 将 sqlite3 添加到框架中?

ios - 在切换 View Controller 时,我应该显式处理中断的异步进程吗?

javascript - 如何将时间戳数组减少为特定时间范围内元素数量计数的数组

javascript - JSON 与 JavaScript 对象数组。为什么第二种方法的结果与第一种方法不同?以及如何实现这一目标?

php - 将xml数据转换为php数组

在位域结构上转换字节顺序

可以在没有数学支持的情况下编译 spidermonkey 吗?

ios - 如何在ios中写入json文件

c++ - 如何读取大 json?