Вопрос к знатокам Си - как обявить указатель со свойствами двумерного массива?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено bialix 20 декабря 2003 г. 13:14

Никак не могу найти правильный метод объявить указатель, который можно использовать как базовый адрес двумерного массива, т.е. чтобы к нему можно было обращаться так:


pointer[i][j]

В классическом Си это похоже нельзя сделать по определению, поскольку как-то? надо указать размер младшей размерности. Сейчас нашел только способ явного приведения указателя к двумерному массиву, например для массива 5*8 это может выглядеть так:


((unsigned char[5][8])pointer)[i][j]

И что вы думаете? Этот прием работает например в кейле, но имеет один неприятный побочный эффект, связанный со спецификой именно кейла, поэтому мне не подходит. Да и выглядит криво. Может есть еще варианты?

PS: Если кто не знает, но все равно хочет посоветовать, пожалуйста, попробуйте свои советы предварительно проверять на своем Си-компиляторе на работоспособность, а потом уж постите :-)

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru