@mrCraick

Как организовать указатели в си?

Всем привет!

Пишу на чистом си и встретился с проблемой.

У меня есть динамический двухмерный массив.
Мне требуется его передать в функцию, но при смешение указателя на +1, что бы заполнить вторую ячейку вылетает исключение нарушение прав доступа при чтении по адресу.

Попытался упросить все и выходит тоже самое, код ниже.
int test[2];

int *y = test;
int **t = &y;
int ***h = &t;

**h[1] = 0;  //нарушение прав доступа при чтении по адресу 0xCCCCCCCC.


Что я делаю не так или в си впринцепе нельзя работать с указателем на указатель на указатель?
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Mercury13
Программист на «си с крестами» и не только
Дело тут в очерёдности операций.
Сначала вычисляются правые одноместные, потом левые.

Надо (**h)[1] = 0;.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы