Я пытаюсь решить следующую проблему, но пока не могу добиться успеха:C: Указатель на 2-мерный массив указателей
У меня есть два-diwmensional массив указателей:
int* a[16][128];
Теперь я хочу сделать указатель на этот массив таким образом, чтобы я мог использовать арифметику указателя на нем. Таким образом, что-то вроде этого:
ptr = a;
if(ptr[6][4] == NULL)
ptr[6][4] = another_ptr_to_int;
Я уже пробовал несколько вариантов, но он либо не работает, то на первой линии или на, если условия.
Итак, как это можно решить? Я бы хотел избежать шаблонных классов и т. Д. Код - это критически важная часть встроенного приложения, а память очень ограничена. Таким образом, я бы хотел, чтобы ptr
был всего лишь sizeof(int*)
байтов.
Вы инициализировали все элементы 'a'? IE a 'int * a [16] [5] = {NULL};' иначе ваш компьютер может быть [спрей, нарисовавший вашу кошку фиолетовым] (http://en.cppreference.com/w/cpp/language/ub) , – George
'auto ptr = a;' должен выполнять работу, поэтому ваш 'ptr' будет иметь правильный тип. – mch
компилятор не знает auto – dspverden