2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Где здесь функция?
Сообщение11.01.2013, 16:28 
Заслуженный участник


27/04/09
28128
temp03 в сообщении #670300 писал(а):
похожие на что? на _list.aa, на bbb или на _list?
Имеющие тип такой же, как у _list.aa и присваиваемые _list.aa. Первое следует из второго, да и искать легче тоже второе.

(Оффтоп)

Кстати, а это-то что такое?:
temp03 в сообщении #670182 писал(а):
_list.aa инициализируется как malloc

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение11.01.2013, 18:08 
Заслуженный участник


09/09/10
3729
arseniiv
Скорее всего, _list.aa = malloc(chislo_s_zapasom * sizeof(intptr_t));

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение12.01.2013, 00:03 
Заблокирован


16/06/09

1547
Всем пасиба. Буду рыть.

-- Сб янв 12, 2013 01:09:19 --

Joker_vD в сообщении #670368 писал(а):
arseniiv
Скорее всего, _list.aa = malloc(chislo_s_zapasom * sizeof(intptr_t));
да

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение12.01.2013, 14:02 
Заслуженный участник


09/09/10
3729
Хм. А скажите, какой тип имеет выражение malloc(chislo_s_zapasom * sizeof(intptr_t))?

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение12.01.2013, 16:29 
Аватара пользователя


07/01/13
261
NJ
Joker_vD в сообщении #670680 писал(а):
Хм. А скажите, какой тип имеет выражение malloc(chislo_s_zapasom * sizeof(intptr_t))?


void * malloc ( size_t size );

ps. После выделения памяти и присваивания переменной _list.aa указателя на эту память должна быть секция с присваиванием адресов функций элементам выделенного массива (Ну или не должна - malloc не заполняет выделенный блок нулями - в этом случае вызовы будут передаваться по случайным адресам со всеми вытекающими последствиями типа access violation и прочим - уж как повезет).

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение12.01.2013, 17:32 
Заслуженный участник


09/09/10
3729
Corund
Во-первых, я спрашивал не вас, во-вторых, вы написали не тип выражения, а объявление функции.

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение12.01.2013, 19:46 
Аватара пользователя


07/01/13
261
NJ

(Оффтоп)

Извините - я еще в процессе адаптации к правилам и нормам поведения на этом форуме - есть некоторые отличия от других.

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение12.01.2013, 20:49 
Заблокирован


16/06/09

1547
С Новым годом!
Joker_vD, ответ звучит так:
.. на тёмном небе сияет яркая Луна!
И тёплый ветер
Как жизнь прекрасна! всё ж была :x
Жизнь пролетела - среди веселья кабаков!
Всё улетело.
Остался страх кашмарных снов :shock:

Изображение

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение14.01.2013, 12:51 


10/04/12
705
Corund в сообщении #670763 писал(а):
ps. После выделения памяти и присваивания переменной _list.aa указателя на эту память должна быть секция с присваиванием адресов функций элементам выделенного массива (Ну или не должна - malloc не заполняет выделенный блок нулями - в этом случае вызовы будут передаваться по случайным адресам со всеми вытекающими последствиями типа access violation и прочим - уж как повезет).


Не совсем, call будет по адресу, который вернул malloc. Следовательно начнется выполнятся некоторый набор инструкций, которые можно прописать ручками. Плюс атрибуты страницы надо настроить. Или поле потом переприсваивается, или еще что...

 Профиль  
                  
 
 Re: Где здесь функция?
Сообщение01.02.2013, 20:19 
Аватара пользователя


07/01/13
261
NJ
Не совсем - вот в этом случае вызов будет по адресу, который вернул malloc:
Используется синтаксис C
bbb = (list_stg_pt *) _list.aa;

А у нас вызов происходит по адресу, который лежит по адресу, который вернул malloc:
Используется синтаксис C
bbb = *(list_stg_pt *) _list.aa;

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group