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

 
 
> Прочитать значение по известному адресу.
Troll
сообщение May 6 2011, 12:45
Сообщение #1


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

Группа: Участник
Сообщений: 104
Регистрация: 30-06-05
Из: С-Петербург
Пользователь №: 6 406



Приветствую.

Вопрос в следующем.

имеется указатель на структуру данных.
void * my_struct;

этому указателю присваивается значение адреса памяти;

есть функция void f(int param);
Внутри функции f необходимо получить значение по адресу, хранящемуся в my_struct.

Для этого через "param" передаю адрес указателя my_struct.
f((int)&my_struct)

Внутри функции
void f(int param) {
void *p;
...
}

Проще говоря должно p == my_struct.
И вот с получением значения внутри функции, ничего не получается.
Компилятор все время ругается на несоответствие типов.


Подскажите, пожалуйста, как это сделать.

PS можно, конечно сделать указатель my_struct глобальным и не париться (в общем сейчас так и есть).
но вопрос возник и хочется его решить.


--------------------
Hemos Pasado
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Troll
сообщение May 12 2011, 13:58
Сообщение #2


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

Группа: Участник
Сообщений: 104
Регистрация: 30-06-05
Из: С-Петербург
Пользователь №: 6 406



Цитата(Палыч @ May 6 2011, 19:32) *
Можно сделать так
Код
p= *(void **)param;
спасибо. То что надо.


Цитата(Палыч @ May 6 2011, 19:32) *
но, такая мешанина типов как у Вас, наводит на мысль, что структура ПО и взаимодействие между отдельными частями программы плохо продуманы

ПО уже есть. Надо лишь добавить несколько строк...
Не писать же все с нуля sm.gif

Спасибо за помощь.


--------------------
Hemos Pasado
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение May 13 2011, 04:43
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Troll @ May 12 2011, 17:58) *
Не писать же все с нуля sm.gif
Часто имеет смысл избавится от говнокода...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 15:16
Рейтинг@Mail.ru


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