реклама на сайте
подробности

 
 
> массив с указателями массивов, IAR указатели массивов
NickSmith
сообщение Feb 27 2011, 23:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 21-10-09
Пользователь №: 53 117



Никак не могу одолеть следующую проблему:
Необходимо создать несколько многомерных массивов, а для удобства работы с ними создать массив с ссылками на них:
Создаю:
Код
__eeprom unsigned int m3 [10][2];
__eeprom unsigned int m4 [10][2];
__eeprom unsigned int m7 [10][2];
unsigned int __eeprom *bdz[]={*m3,*m4,*m7};

Теперь хочу обратится например к m4 строке 3 ячейке 0.
Типа temp=bdz[1][3][0]
Пишу
Код
unsigned int temp;
int main( void )
{
temp=*(bdz[2]{[3][0]});
}

Компилятор ругается, пробовал по всякому. Много раз перечитывал K&R главу 5 . Указатели и массивы. В общем понимание есть, но как это правильно описать хоть убей не могу понять.. Хоть на case это делай...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
XVR
сообщение Feb 28 2011, 12:52
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
Если не сложно в двух словах поясните что я делал не так в данном решении.
У вас не совпадают типы массивов. Ваши исходные массивы (m?) являются 2х мерными массивами (во FLASH). Соответственно bdz должен быть массивом указателей на 2х мерные массивы во FLASH'е, а не массивом указателей на unsigned во FLASH'е
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016