У меня есть 2D массив следующим образом:Access индекс строки 2D массива из указателя строки
struct tab **table;
table = new tab*[n+1];
for(int i = 1; i < n+1; i++)
table[i] = new tab[n+1];
Теперь у меня есть указатель на какой-то строки массива 2D в tab* start = table[10]
. Мое сомнение в том, что я говорю о функции и передаю начало в качестве аргумента. Тогда как я могу получить индекс строки (т. Е. 10 в этом случае) таблицы, используя start?
Я предполагаю, что единственный способ узнать строку - это повторить 2D-массив и проверить, равен ли указатель строки пройденному. – Neijwiert
Почему бы не сделать класс для этого в любом случае? упростить поиск? – Neijwiert
@Nandini Singhal Вы не можете. Элемент массива не имеет информации о его позиции в массиве. Вы должны передать индекс отдельно к функции. –