gpt4 book ai didi

c - 在 Objective-C 中获取静态 C 数组的长度

转载 作者:行者123 更新时间:2023-11-30 17:00:35 24 4
gpt4 key购买 nike

我在实现文件中定义了一个 NSString 静态数组,如下所示:

NSString * const knames[] = { @"", @"", @"", ..., @"" };

我想做的是动态获取长度。由于这是一个 C 数组,lengthcount 无效,因此我尝试使用 sizeof:

int count = (sizeof knames) / (sizeof knames[0]);

但是,它会导致错误消息:

Invalid application of 'sizeof' to an incomplete type 'NSString *const _strong[]'

最佳答案

小错别字; sizeof 需要括号:

/*const?*/ int count = sizeof(knames) / sizeof(knames[0]);

您可以在全局某处创建宏:

#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
...

const int count = ARRAY_SIZE(knames);

关于c - 在 Objective-C 中获取静态 C 数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37533436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com