Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 16:04   #1
maxsept
Пользователь
 
Регистрация: 14.01.2010
Сообщений: 14
По умолчанию Динамические массивы

Код:

type
    TRec = packed record
      a:Byte; // size = 1.
      b:array of integer; // size = 4.
    end;
Код:

sizeof(TRec); // size = 5.

setLength(Trec.b,9); // sizeof(TRec) должна быть 41 

sizeof(TRec); // size = 5
в чем проблема?
maxsept вне форума Ответить с цитированием
Старый 03.05.2012, 16:44   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

динамические массивы хранятся через указатель, потому имеют размер(в структуре) оного
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.05.2012, 16:54   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

проблема в том, что Вы НЕ ПОНИМАЕТЕ, что такое B

Вы думаете, что это МАССИВ!

а на самом деле это УКАЗАТЕЛЬ (pointer), который, вне зависимости от того, куда он показываете - равен 4 байта.

предлагаю Вам ещё с таким кодом "поиграться" - до полного просветления...:
Код:
var s : AnsiString;
begin
  s := 'xxxxxxxxxxxxxxxxxxxxxx';
  ShowMessage('размер равен '+IntToStr(sizeof(s)));
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические массивы c++ cheef Помощь студентам 4 19.11.2011 12:53
Динамические массивы cheef Помощь студентам 4 23.10.2011 09:39
Динамические массивы Solnze2 Помощь студентам 0 22.05.2011 20:54
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09
Динамические массивы в С Ol'ga Фриланс 6 08.06.2010 10:50