1 / 1 / 0
Регистрация: 02.12.2009
Сообщений: 38
1

Сколько памяти занимает переменная типа TFigure?

30.09.2010, 20:18. Показов 3567. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
type
TFigure=record;
Field1:=string;
Field2:=byte;
case integer of 
1:(x1,y1,x2,y2):Integer;
2:(x,y:Integer; radius:byte);
end;
var 
Figure:TFigure;


подскажите, пожалуйста,как посчитать память?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2010, 20:18
Ответы с готовыми решениями:

Определить, сколько места занимает Record в памяти
Подскажите пожалуйста какую функцию необходимо использовать для подсчёта сколько места занимает...

Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной переменной типа int
Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной...

Определить, сколько полных килобайт занимает файл
Даны натуральное число N - объем файла в байтах. определить, сколько полных килобайт занимает этот...

Определить, сколько места занимает в динамической памяти переменная целого типа
Как определить сколько места занимает в динамической памяти переменная целого типа?

4
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.09.2010, 22:15 2
SizeOf(TFigure);
кстати после record точку с запятой убери...
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
01.10.2010, 01:09 3
И :integer в первой ветви вариантной части под скобку занеси.
0
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
01.10.2010, 03:13 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
type
  TFigure = record
  ...
  end;
var
  Mem : Integer;
begin
  Mem = SizeOf(TFigure);
  Writeln('Для размещения переменной типа TFigure в памяти требуется ', Mem, ' байт.');
...
end.
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
01.10.2010, 11:52 5
Сто пудофф имеется в виду посчитать руками.

Для этого надо знать размеры стандартных типов данных - куда ж тут денешься. Тип string в Турбо-Паскале имеет размер 256 (внимание, в других диалектах может быть не так), byte он и в Африке 1 байт будет, тип integer в Турбо-Паскале занимает 2 байт (еще раз внимание, помним о диалектах). Размер вариантной части записи с вариантами буде равен размеру самой большой ветви.

Для приведенного типа имеем следующее:
в статической части string и byte - 256+1=257 байт;
в вариантной части ветвь 1 имет размер 4*2=8 байт (4 integer),
ветвь 2 - 2*2+1=5 байт (2 integer + byte), значит
размер вариантной части будет 8 байт;
итого 257+8=265 байт размер всей записи.
1
01.10.2010, 11:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2010, 11:52
Помогаю со студенческими работами здесь

Предположим, что переменная типа CHAR занимает 1 байт, переменная типа INTEGER занимает два байта
Предположим, что переменная типа CHAR занимает 1 байт, переменная типа INTEGER занимает два байта,...

Сколько переменная занимает в памяти
scanf_s DB "%d", 0 это же строка с переходом на новую? и занимает в памяти 3 байта? скажите,...

Узнать сколько занимает переменная и напечатать в консоли
Что надо компилятору? Вроде все правильно. Хочу узнать сколько занимает переменная и напечатать в...

Сколько памяти занимает цикл while?
Сколько памяти занимает цикл while?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru