Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: CL | DM;

Вниз

c++->pascal   Найти похожие ветки 

 
emike   (2003-08-25 04:18) [0]

здравствуйте
мне нужно перевести в паскаль такой сишный код (книжек под рукой нет):
typedef struct _stream_processor {
....
} stream_processor;
typedef struct {
stream_processor *streams;
.....
} stream_set;
...
stream_set *set = calloc(1, sizeof(stream_set));
set->streams = calloc(5, sizeof(stream_processor)); //тут создаётся массив stream_processor"ов
...
stream = &set->streams[set->used]; //а тут обращение к его элементам
...

какие параметры у calloc и как обращаться к элементам массивов?


 
Некрофил-затейник__   (2003-08-25 06:30) [1]

emike
Попробуй все это через динамический массив.
пример использования dynamic array

var
a:array of string;
count:integer;
begin
SetLength(a,3);
for count := 0 to Length(a)-1 do
a := "Stroka "+inttostr(count);
writeln(a[Length(a)-1]);
SetLength(a,0);
end;


 
emike   (2003-08-25 15:43) [2]


> Некрофил-затейник__ (25.08.03 06:30) [1]

ну что это динамические массивы я понял
что делает функция calloc? выделяет n блоков указанного размера?
и как обойтись без динамических массивов (максимально сохранив эти типы данных)? очень не хочется перелопачивать горы уже переведённого кода


 
DrPass ©   (2003-08-25 16:01) [3]

Если дословно, то примерно так:
GetMem(_set, sizeof(stream_set));
FillChar(_set^, sizeof(stream_set),0);
GetMem(_set^.streams, 5*sizeof(stream_processor));
FillChar(_set^.streams^, 5*sizeof(stream_processor),0);
Вполне вероятно, что обнуление с помощью FillChar нафиг не нужно. Просто calloc, если не ошибаюсь, обнуляет выделенную область памяти.



Страницы: 1 вся ветка

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
3-33475
Nikkkkk
2003-08-20 15:10
2003.09.11
не отрабатывается запрос в TQuery


6-33715
FireMan_Alexey
2003-06-26 16:30
2003.09.11
Помогите избавиться от ошибки (Socket error 10065)


14-33745
Vlad Oshin
2003-08-25 15:41
2003.09.11
Поможите, опять ВинXP... Первый раз я с ней. Не копирует по сети


7-33818
Студент из Запорожья
2003-06-29 22:02
2003.09.11
Как подключить шрифт, лежащий в папке программы?


14-33805
jack128
2003-08-22 00:05
2003.09.11
Именинники 22 августа