/ / Как да създадем мултидименсивен масив от обекти в цел C [дубликат] - цел-c, многоизмерно масив

Как да създадем мултидименсивен масив от обекти в обект C [дубликат] - цел-c, многоизмерно масив

Възможно дублиране:
Как да създам многомерен масив?

Аз съм нов за програмиране и цел С, така че, въпреки че съм намерил няколко въпроса тук, които обсъждат многоизмерни масиви, не получавам това, което трябва да направя, за да изградя и да използвам собствената си.

Трябва да направя масив с 16 реда и 3колони. Масивът трябва да приема струнни обекти. Не знам как да създам това, да го запълня или да имам достъп до съдържанието му. Някой би ли бил достатъчно добър, за да го счупи за мен?

Отговори:

11 за отговор № 1

Предлагам да използвате C-масив, като NSArray не поддържа множество измерения.Можете да декларирате масива, който описахте по следния начин:

NSString *stringArray[16][3];

Задаването и достъпът до низи от този масив е доста директно напред:

stringArray[7][1] = @"Stringstringstring";

NSString *string = stringArray[3][0];

Вие обаче бих могъл използвайте NSArray (или NSMutableArray), но това би било малко по-елегантно:

NSArray *stringArray = [NSArray arrayWithObjects:
[NSMutableArray array],
[NSMutableArray array],
[NSMutableArray array], nil];

Тези трима NSMutableArrayще бъдат трите колони на двуизмерния ви масив.

редактиране

Използване на NSArray, може да е по-лесно да използвате цикъл, за да го запълните:

NSMutableArray *stringArray = [NSMutableArray array];

for (int column = 0; column < 3; column++)
{
NSMutableArray *columnArray = [NSMutableArray array];

for (int row = 0; row < 16; row++)
[columnArray addObject:[NSString stringWithFormat:@"Row %i, column %i", row, column]];

[stringArray addObject:columnArray];
}