如何在构造函数中设置指向 C 数组的指针?
@implementation NSBufferedInputStream {
char *buffer;
int bufferSize;
}
- (id)initWithFileAtPath:(NSString *)path
{
self = [super initWithFileAtPath:path];
if (self) {
bufferSize = 100;
buffer = char[bufferSize]; // ERROR: Expected expression
}
}
@end
最佳答案
如果你真的需要一个动态大小的数组,
- (id)initWithFileAtPath:(NSString *)path
{
self = [super initWithFileAtPath:path];
if (self) {
bufferSize = 100;
buffer = malloc(sizeof(char) * bufferSize);
}
}
- (void)dealloc
{
free(buffer);
[super dealloc];
}
否则,如果您的数组大小在编译时已知,只需将您的 ivar 从 char *buffer;
更改为:
char buffer[100]
关于objective-c - 如何创建一个c数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10475799/