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

 
 
> Обращение к элементу двухмерного массива используя адрес массива
LEVENVORF
сообщение Dec 24 2010, 14:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 14-03-10
Из: BELARUS
Пользователь №: 55 953



Код
//Структура описывающая подпрофиль
typedef struct {
  unsigned short type;
  unsigned short signal;
} sub_profile;

//Массив подпрофиля 1
const sub_profile SUB_PROFILE_1 = {
330,
400
};

//Массив подпрофиля 2
const sub_profile SUB_PROFILE_2 = {
100,
1200
};

......

//Массив подпрофиля n
const sub_profile SUB_PROFILE_n = {
1,
2
};

Массив профиля состоящий из указателей на подпрофили
Код
const sub_profile * PROFILE_1[] = {&SUB_PROFILE_1, &SUB_PROFILE_2, ... , &SUB_PROFILE_n, 0};

И еще один массив содержащий указатели на профили
Код
const sub_profile ** PROFILE[] = {PROFILE_1, ... , PROFILE_n, 0};

Массив PROFILE[] не объявлен, но известно что он начинается с адреса 0x0801F000 (по этому адресу он записывается при помощи другого проекта).
Каким образом я могу обратиться к элементу структуры определенного подпрофиля, определенного профиля.
При попытке:
Код
#define PROFILE                ((sub_profile **)(0x0801F000))

unsigned int temp;
  
temp = PROFILE[1][0]->type;

IAR ARM 5.50 выдает ошибку expression must have pointer type
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- LEVENVORF   Обращение к элементу двухмерного массива используя адрес массива   Dec 24 2010, 14:13
- - rezident   Цитата(LEVENVORF @ Dec 24 2010, 22:13) IA...   Dec 25 2010, 17:53
- - LEVENVORF   int для stm32f 4-х байтный. Так как же мне все-т...   Dec 25 2010, 18:33
|- - rezident   Цитата(LEVENVORF @ Dec 26 2010, 02:33) Та...   Dec 25 2010, 19:05
- - LEVENVORF   Попробовал вот так: Код#define PROFILE (...   Dec 25 2010, 19:51
- - rezident   На какую именно строку ругается?   Dec 25 2010, 20:35
|- - LEVENVORF   Цитата(rezident @ Dec 26 2010, 01:35) На ...   Dec 25 2010, 20:37
- - sigmaN   ну так чтобы из указателя на указатель получить у...   Dec 25 2010, 20:35
- - rezident   А если так? Кодtemp2 = temp[0].type; temp[...   Dec 25 2010, 21:06
- - LEVENVORF   Цитата(rezident @ Dec 26 2010, 02:06) А е...   Dec 25 2010, 21:30
- - sigmaN   Разыменовывать, разыменовывать же) вот это даже пр...   Dec 26 2010, 01:11
- - LEVENVORF   не компилируется. ругается на строку: Цитата(sigma...   Dec 26 2010, 16:05
- - rezident   Ну вот так точно уж должно работать Код#define PRO...   Dec 26 2010, 17:38
- - sigmaN   Цитатане компилируется. ругается на строку:компиля...   Dec 26 2010, 17:54
- - rezident   Вот так тоже работает, но лично меня сложность так...   Dec 26 2010, 18:17
- - sigmaN   Топикстартер, а нам вообще точно нужен указатель н...   Dec 26 2010, 18:36
|- - rezident   Цитата(sigmaN @ Dec 27 2010, 02:36) И воо...   Dec 26 2010, 18:52
- - sigmaN   я то проверял и у меня реально работало же. могу ...   Dec 26 2010, 19:36
|- - rezident   Цитата(sigmaN @ Dec 27 2010, 03:36) я то ...   Dec 26 2010, 19:59
- - sigmaN   тогда наверное дело в размере указателя.... щас на...   Dec 26 2010, 20:25
- - LEVENVORF   компилируется и работает. Цитата(rezident @ D...   Dec 26 2010, 20:58
- - sigmaN   скобок действительно не хватало и похоже, что на л...   Dec 26 2010, 21:18
|- - Сергей Борщ   QUOTE (sigmaN @ Dec 27 2010, 02:18) Но я ...   Dec 27 2010, 05:01
|- - XVR   Цитата(Сергей Борщ @ Dec 27 2010, 11:01) ...   Dec 27 2010, 13:58
|- - Сергей Борщ   QUOTE (XVR @ Dec 27 2010, 18:58) Почти та...   Dec 27 2010, 18:58
|- - ViKo   Цитата(Сергей Борщ @ Dec 27 2010, 23:58) ...   Dec 28 2010, 07:26
||- - Сергей Борщ   QUOTE (ViKo @ Dec 28 2010, 12:26) Только ...   Dec 28 2010, 08:00
||- - ViKo   Цитата(Сергей Борщ @ Dec 28 2010, 13:00) ...   Dec 28 2010, 08:47
|- - rezident   Цитата(Сергей Борщ @ Dec 28 2010, 02:58) ...   Dec 28 2010, 11:43
|- - Сергей Борщ   QUOTE (rezident @ Dec 28 2010, 16:43) Раз...   Dec 28 2010, 12:56
|- - rezident   Цитата(Сергей Борщ @ Dec 28 2010, 20:56) ...   Dec 28 2010, 13:10
|- - GetSmart   Цитата(Сергей Борщ @ Dec 28 2010, 20:56) ...   Dec 28 2010, 14:43
|- - ViKo   Цитата(GetSmart @ Dec 28 2010, 19:43) одн...   Dec 28 2010, 15:08
- - LEVENVORF   Цитата(Сергей Борщ @ Dec 27 2010, 10:01) ...   Dec 27 2010, 07:39
|- - Сергей Борщ   QUOTE (LEVENVORF @ Dec 27 2010, 12:39) По...   Dec 27 2010, 07:55
|- - demiurg_spb   Есть очень хорошее правило, прочитанное мной где-т...   Dec 27 2010, 10:52
- - sigmaN   temp = PROFILE[1][0]->type; даа, а ведь и правд...   Dec 27 2010, 07:44
- - sigmaN   ЦитатаЕсть очень хорошее правило, прочитанное мной...   Dec 27 2010, 15:48
- - GetSmart   В книжках так же пишут, что детей находят в капуст...   Dec 28 2010, 15:21
|- - ViKo   Цитата(GetSmart @ Dec 28 2010, 20:21) В к...   Dec 28 2010, 16:26
- - XVR   По поводу массив/указатель уже где то тут выясняли...   Dec 28 2010, 16:51
- - Сергей Борщ   QUOTE (rezident @ Dec 28 2010, 18:10) Раз...   Dec 28 2010, 17:14
- - XVR   Если подходить строго, то с массивом в С определен...   Dec 28 2010, 17:23
|- - Сергей Борщ   QUOTE (XVR @ Dec 28 2010, 22:22) ВСЕ ОСТА...   Dec 28 2010, 17:25
- - ViKo   Решил сравнить адресную и индексную арифметику на ...   Dec 28 2010, 17:55
|- - XVR   Цитата(ViKo @ Dec 28 2010, 23:55) Решил с...   Dec 28 2010, 18:06
||- - ViKo   Цитата(XVR @ Dec 28 2010, 23:06) Включите...   Dec 28 2010, 18:30
|- - Сергей Борщ   QUOTE (ViKo @ Dec 28 2010, 22:55) В любом...   Dec 28 2010, 18:49
||- - ViKo   Цитата(Сергей Борщ @ Dec 28 2010, 23:49) ...   Dec 28 2010, 18:58
||- - singlskv   Цитата(ViKo @ Dec 29 2010, 00:58) Похоже,...   Dec 28 2010, 19:40
||- - Сергей Борщ   QUOTE (ViKo @ Dec 28 2010, 23:58) Это нич...   Dec 29 2010, 05:26
||- - XVR   Цитата(Сергей Борщ @ Dec 29 2010, 11:26) ...   Dec 29 2010, 05:50
||- - ViKo   Цитата(Сергей Борщ @ Dec 29 2010, 10:26) ...   Dec 29 2010, 06:59
||- - XVR   Цитата(ViKo @ Dec 29 2010, 12:59) Должна ...   Dec 29 2010, 16:54
||- - ViKo   Цитата(XVR @ Dec 29 2010, 21:54) Не должн...   Dec 30 2010, 07:21
||- - demiurg_spb   В тему указатели-массивы (накидал примерчик за 5 м...   Dec 30 2010, 08:09
|- - GetSmart   Цитата(ViKo @ Dec 29 2010, 01:55) Результ...   Dec 28 2010, 19:03
|- - ViKo   Цитата(GetSmart @ Dec 29 2010, 00:03) Не ...   Dec 28 2010, 19:11
- - sigmaN   ага, только эти a b c тоже как-бээ массивы указате...   Dec 30 2010, 07:58
|- - ViKo   Цитата(sigmaN @ Dec 30 2010, 12:58) ага, ...   Dec 30 2010, 13:31
- - GetSmart   36?   Dec 30 2010, 12:04


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

 


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


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