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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2012, 00:26   #1
all_is_fear
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 13
По умолчанию Вопрос по делфи

Здравствуйте помогите пожалуйста, просто под рукой есть сколько занимает в памяти каждый элемент, но всегда ошибался при вычислении

Сколько будет выделено памяти для хранения элементов массива A[1..10]
type
ref_book:record;
flo :string[50];
city:string[10];
pol:char;
age:byte;
end;
var
a:array[1..10] of ref_book
all_is_fear вне форума Ответить с цитированием
Старый 27.01.2012, 00:30   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
10*SizeOf(ref_book)
не?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 27.01.2012, 00:35   #3
all_is_fear
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 13
По умолчанию

нужно в байтах
проверьте просто правильно ли я вычислил

ref_book:record;
flo :string[50]; 50 байт
city:string[10]; 10 байт
pol:char; 1 байт
age:byte; 1 байт
end;
var
a:array[1..10] of ref_book итого 620 байт не так ли?
all_is_fear вне форума Ответить с цитированием
Старый 27.01.2012, 00:36   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

А это что вернёт?
Цитата:
10*SizeOf(ref_book)
Терабайты чтоль?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 27.01.2012, 15:20   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Hacker19_90, похоже, что он хочет ручками вычислить размер, чтобы понимать все "внутренности"...


Цитата:
проверьте просто правильно ли я вычислил

ref_book:record;
flo :string[50]; 50 байт
city:string[10]; 10 байт
pol:char; 1 байт
age:byte; 1 байт
end;
var
a:array[1..10] of ref_book итого 620 байт не так ли?
нет, неправильно.
Код:
  ref_book = record
    flo :string[50]; {51 байт - есть ещё нулевой байт - там длина строки}
    city:string[10]; {11 байт - есть ещё нулевой байт - там длина строки}
    pol:char; {1 байт}
    age:byte;  {1 байт}
  end;
итого размер структуры SizeOf(ref_book) = 64 байта
размер массива a SizeOf(a) = 640 байт.


p.s. а ещё у Вас ошибка в задании типа - нужен знак равно и после record не нужна точка с запятой!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос о формах в Делфи Miha85193 Общие вопросы Delphi 8 28.06.2010 18:39
Вопрос по Делфи Степа Верхозин Помощь студентам 4 08.05.2009 21:41
Вопрос по Делфи (дубль 2) MasterX Общие вопросы Delphi 4 06.03.2009 21:43
Вопрос по Делфи MasterX Общие вопросы Delphi 1 06.03.2009 19:57
Вопрос по делфи и по форуму :) Killbrum Помощь студентам 6 13.08.2008 12:57