ibash.org.ru - Новый цитатник Рунета

Форум: Разница между динамическим массивом и нединамическим. 1 > [RSS]

Форум: Вход Регистрация Участники Поиск RSS

Stager
05.01.2009 - 22:42

Подскажите в чём разница между динамическим массивом и нединамическим.

megaterik
#1 - 05.01.2009 - 22:51

Динамический можно увеличивать и уменьшать по ходу программы, нединамический можно задать только перед компиляцией и он останется такого размера.

megaterik
#2 - 05.01.2009 - 22:51

Динамический можно увеличивать и уменьшать по ходу программы, нединамический можно задать только перед компиляцией и он останется такого размера.

megaterik
#3 - 05.01.2009 - 22:51

Динамический можно увеличивать и уменьшать по ходу программы, нединамический можно задать только перед компиляцией и он останется такого размера.

megaterik
#4 - 05.01.2009 - 22:52

да ё-маё

Stager
#5 - 05.01.2009 - 22:56

Спасибо, а примерчик можно?

megaterik
#6 - 05.01.2009 - 23:09

ну могу написать, вот например:
var n:LongInt;
var ar1:array[1..100] of LongInt;//статический массив
ar2:array of LongInt; //динамический массив
begin
//сейчас массив ar2--не иницилизован, его нельзя использовать
//массив ar1 можно юзать
ar1[100]:=1465;
read(n);
SetLength(ar2,n);
if length(ar2)<>0 then //нумеруются элементы от 0 до n-1
ar2[n-1]:=1465; // эт крайний элемент
end.
Код дельфийский, не компилил)

megaterik
#7 - 05.01.2009 - 23:10

плин, в 3 строки var лишний)

Stager
#8 - 05.01.2009 - 23:15

Ok, спасибо, попробую разобраться.

Temcha
#9 - 05.01.2009 - 23:54

Ой... А чем отличается статичекия функция от метода?
А чем отличается объект от класса?
а как объявить строку а яве?
а правда, что перл поддерживает регулярные выражения?
ой! а как скомпилировать программу на ява скрипте?
А правда,что можно получить доступ к приват методам, если назвать наследника ПриватАкцептед?
Помогите! Команда readln повисает, кпока не нажмешь Ентер!

Мы всерьез собираемся помогать ламерам?

Stager
#10 - 05.01.2009 - 23:57

Temcha тебя никто не заставляет помогать, не хочешь не помогай!

megaterik
#11 - 06.01.2009 - 00:06

:D
Топикстартеру надо бы гуглить учебник по паскалю и его читать)
*предчувствует следующую тему "где можно скачать учебник по паскалю" :)

Stager
#12 - 06.01.2009 - 00:19

Мне если что на С++ надо.
Всем спасибо!

ZongZong
#13 - 06.01.2009 - 10:23

в C и C++ между динамическим и статическим массивами следующая разница (если я ничего не путаю): статический хранится в стеке а динамический в куче, поэтому на размер статического существуют более сильные ограничения (у меня больше 8 МБ не хотел создаваться, а динамические легко пахали и в 100 МБ размером), но время выделения, сбора и доступа к памяти у статического меньше, ну и как уже упоминалось у динамического можно менять размер в процессе выполнения программы (а точнее выделять под него новую память). (память динамического надо собирать вручную)

примеры:
#include <cstdio>

using namespace std;

int main(void)
{
int ar[100]; // статический массив
int *ar2=new int[100]; //динамический массив
for(int i=0;i<100;i++)
{
ar2[i]=ar[99-1]=i*i;
}
printf("%d %d\n",ar[0],ar2[0]);
delete(ar2);
return 0;
}

ЗЫ. Код вроде должен работать, не проверял.

Malefic
#14 - 06.01.2009 - 15:35

Походу в дельфях таким не пользовался, а Зонг вроде кошерно написал. Помню, я эту хрень на экзамене уже выучил))) Я его почти сам придумал (=
К списку вопросовСтраницы: 1 >

Быстрый ответ
Имя:      Пароль:    
Текст сообщения:

«ibash.org.ru — Новый цитатник Рунета» Почта вебмастера: imail@ibash.org.ru