imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 11.05.2006, 13:58     # 21
GGin
Guest
 
Сообщения: n/a

Строем динамический массив примерно так:

"int or anything type"
***********************************
int *pAray; //pointer to dynamics array
int kol; //numbers of started elements
... //kol=... must be >0
pArray=(int*)malloc(kol); //pointer for dynamics array with "kol" elements
... //kol+=.... or kol-=.... but kol>0
(int*)realloc(dArray,kol); //pointer for new location of dynamics array with "kol" elements
...
free(dArray); //free allocations memory
********************************
 
Старый 11.05.2006, 14:54     # 22
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
народ, не изобретайте велосипедов, для этого как раз vector и есть. Конечно для упражнений можно и самому написать но в реальном коде....
Код:
#include <vector>

using namspace std;

...

vector<float> arr;
for (...) {
  arr.push_back(f);
}

for (int i = 0; i < arr.size(); ++i)
  print(arr[i]...);
...
Drakosha вне форума  
Старый 11.05.2006, 20:55     # 23
SteFF
Junior Member
 
Аватар для SteFF
 
Регистрация: 27.01.2005
Адрес: Пенза-City
Сообщения: 68

SteFF Путь к славе только начался
НУ понеслась...
Я может неправильно выражусь. Я не знаю: float *vector = new float[kol]; - это статический массив? Или он динамический?
Ведь если он динамический, то надо его удалить из памяти перед выходом из проги как я понял делается так: delete [] vector;.
А если он статический, то он сам удалится. вот

Последний раз редактировалось SteFF; 11.05.2006 в 21:07.
SteFF вне форума  
Старый 12.05.2006, 22:47     # 24
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
SteFF, не путай людей

пофиг, статический массив или динамический... при завершении программы ЛЮБАЯ память возвращается системе.
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 13.05.2006, 10:10     # 25
SteFF
Junior Member
 
Аватар для SteFF
 
Регистрация: 27.01.2005
Адрес: Пенза-City
Сообщения: 68

SteFF Путь к славе только начался
Я никого путать и не собираюсь :biggrin:
:yees:
SteFF вне форума  
Старый 14.05.2006, 11:39     # 26
SteFF
Junior Member
 
Аватар для SteFF
 
Регистрация: 27.01.2005
Адрес: Пенза-City
Сообщения: 68

SteFF Путь к славе только начался
Цитата:
GOre01:
float *vector = new float[kol]; // это наш массив
Хотел спросить еще.
Что значит new? Как я объясню преподу, что делает этот new?
Он создает указатель типа float на чтото? Или что?
Может я канечно бред написал, но я в указателях не больно-то разбираюсь...
SteFF вне форума  
Старый 14.05.2006, 13:04     # 27
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
SteFF
new выделяет память и возвращает указатель на начало выделенной памяти. После использования памяти её обычно удаляют через delete <указаель>.
ЕЖ вне форума  
Старый 14.05.2006, 14:51     # 28
Rundll
Junior Member
 
Аватар для Rundll
 
Регистрация: 02.11.2003
Адрес: г. Таганрог
Сообщения: 63

Rundll Путь к славе только начался
Я извеняюсь, что влезаю в вашу милую беседу, тема которой уже закрыта, но всё же моё мнение - это юзать STL! Как сказал Бьёрн Страуструп по-поводу этого: "Не изобретайте колесо! Там где нужен изменющий размеры массив, используйте стандартный тип vector, из пространства имён std"
__________________
Америка, Америка - это красиво, но Россия вот где есть СИЛА!!!
Rundll вне форума  
Старый 14.05.2006, 16:43     # 29
SteFF
Junior Member
 
Аватар для SteFF
 
Регистрация: 27.01.2005
Адрес: Пенза-City
Сообщения: 68

SteFF Путь к славе только начался
2ЕЖ, т.е. если у меня строка:
Код:
float* mas=new float[kol]
То получается, что выделяется память для массива(?) из kol элементов?

PLZ, не надо говорить, мол что тут может быть непонятного.. я ведь только начинаю С изучать..
SteFF вне форума  
Старый 14.05.2006, 16:51     # 30
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
SteFF
Совершенно верно, выделяется sizeof(float)*kol байт памяти.
ЕЖ вне форума  
Старый 14.05.2006, 16:58     # 31
SteFF
Junior Member
 
Аватар для SteFF
 
Регистрация: 27.01.2005
Адрес: Пенза-City
Сообщения: 68

SteFF Путь к славе только начался
Цитата:
ЕЖ:
Совершенно верно, выделяется sizeof(float)*kol байт памяти.
Ясно
Завтра попытаюсь сдать
SteFF вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:51.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.