PDA

Просмотр полной версии : [Вопрос] Возможно ли обратиться к ячейкам переменной в энуминаторе?



naxxyelite
05.08.2018, 14:46
Есть энуминатор.


enum example
{
c_1[3],
c_2[3],
c_3[3]
}
new f[example];


Возможно ли в цикле обратиться к примеру только к 0-й ячейке? По типу:


for(new example:e; e <= example; e++)
{
f[e][0] = 0;
}

Спасибо.

pawnoholic
05.08.2018, 15:51
Только по ее прямому имени c_1, c_2 и т.д.
f[c_1][0] = 0;

Daniel_Cortez
05.08.2018, 16:41
f[example:0] = 0;

DeimoS
06.08.2018, 12:33
Стоит понимать, что перечисление не создаёт двумерный массив, а просто закрепляет ячейки первой меры за определёнными константами.
То есть, вот этот код:

enum example
{
c_1[3],
c_2[3],
c_3[3]
}
new f[example];
На деле будет выглядеть так:

new f[9];
А члены перечисления просто закрепят за собой ячейки:

c_1 = 0
c_2 = 3
c_3 = 6
И когда ты записываешь информацию, например, в c2:

strcat(f[c_2], "tt");
Ты просто записываешь её в ячейки с 3 по 5.

То же самое можно делать и в ручную. Перечисление просто упрощает этот процесс для человека, так как запомнить имя константы для хранения конкретных данных гораздо проще, чем номер ячейки