Я пытаюсь создать массив двумерных байтов.Как объявить 2D-байтовый массив
Может ли кто-нибудь дать код, как объявить массив байтов NULL 2D в Objective-C?
Я пытаюсь создать массив двумерных байтов.Как объявить 2D-байтовый массив
Может ли кто-нибудь дать код, как объявить массив байтов NULL 2D в Objective-C?
С Objective-C является строгим надмножество с, вы могли бы просто использовать чистое определение С и он будет работать нормально:
char** myMatrix = malloc(width*height);
Вы также можете использовать NSArray из NSArrays, но это не 2 мерный массив. Это зубчатый массив и значительно менее простой в использовании, чем простой массив байтов.
Другой альтернативой является использование объекта NSData/NSMutableData. Это основной способ работы с байтовыми массивами. См. NSMutableData class reference для получения дополнительной информации.
NSMutableData* data = [NSMutableData dataWithLength:1024]; // One kilobyte
void* dataPointer = [data mutableBytes]; // Get a pointer to the raw bytes
Я обманываю, делая это в C.
size_t width;
size_t height;
unsigned char *twoDimArray = calloc(width*height);
HI krbyrd !!! Могу ли я заменить этот символ * на байт *? – SocialCircus
Ни стандарт C, ни C++ не имеет типа байтов. Я не знаю о Objective C. – kbyrd
Вероятно, хотят сделать что символ ** myMatrix, так что вы можете использовать более нормальное обозначения myMatrix [х] [у] –
Вы правы, я добавил *. –
HI Greco !!! Могу ли я заменить этот символ * на байт *? – SocialCircus