Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.96
Tapelkam
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 33
#1

Массивы. Статические и динамические - C++

14.11.2012, 21:08. Просмотров 5110. Ответов 2
Метки нет (Все метки)

Объясните, пожалуйста, что такое статические массивы и что такое динамические? Чем отличаются? Как их создавать? Какой лучше?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 21:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы. Статические и динамические (C++):

Динамические и статические массивы - C++
Главное отличие динамических массивов от статических состоит в том, что они могут иметь неопределенный размер до компиляции. Но статический...

Взять статические строки заменить на динамические массивы и распечатать - C++
нужно решить задачу Взять статические строки заменить на динамические массивы и распечатать

Заменить статические массивы на динамические; размер массива запрашивать у пользователя - C++
#include <iostream> #include <ctime> using namespace std; const int n=10; int first, last; //функция сортировки void...

Статические и динамические библиотеки - C++
Здравствуйте! Возник вопрос в понимании задания, подскажите пожалуйста То есть в библиотеке должна динамически выделяться память под...

Статические и динамические объекты - C++
Используя объекты, классы, конструкторы и деструкторы необходимо разработать программу по следующим заданиям. Создать динамический массив...

Статические динамические типы(типизация) - C++
Доброго времени суток! Хочу задать вопрос, но конкретизировать боюсь не смогу. Вопрос по статической динамической типизации при...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6471 / 3119 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
14.11.2012, 22:05 #2
Цитата Сообщение от Tapelkam Посмотреть сообщение
Объясните, пожалуйста, что такое статические массивы и что такое динамические? Чем отличаются? Как их создавать? Какой лучше?
Статические массивы как и другие статические типы данных это объекты размер которых известен на этапе компиляции. То есть до выполнения кода, когда программа запрашивает память у операционной системы она может выделить память в области данных, - по младшим адресам сегмента программы. Такие массивы существуют всё время жизни программы. Размер их неизменен. Данные в них изменять можно.
Динамические массивы создаются на этапе исполнения так как размер их во время компиляции неизвестен.
C++
1
2
3
4
5
6
7
8
9
10
11
int sz=0;
cout<<"Введите размер массива";
std::cout << std::endl;
cin>>sz;
int* Arr = new int[sz];
cout<<"Введите элемент массива c индексом ";
for (int i=0; i<sz; i++){
cout<<i<<"\t";
 cin<<Arr[i];
std::cout << std::endl;
}
В этом случае размер вводится пользователем и неизвестен программе до выполнения ввода sz.
Память выделяется в разделе между областью данных и областью кода, в динамической памяти.
После использования такого массива его нужно удалить: delete []Arr;
Вопрос о том какой массив лучше некорректен. Вполне возможно, что статический немного быстрее, но главное не это, а то какой использовать в конкретной ситуации. Динамические структуры позволяют многократно использовать одну и туже память, выделять её по мере возникновения необходимости и в объёме необходимом в данный момент. Статический массив, особенно, с глобальной областью видимости, проще в обращении, но неповоротлив и занимает имя в пространстве имён файла.
2
Tapelkam
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 33
14.11.2012, 22:56  [ТС] #3
Благодарю откровенно! Все теперь понятно
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2012, 22:56
Привет! Вот еще темы с ответами:

Нужно переделать статические данные в динамические - C++
как сделать tum динамическим чтобы при замене текста в text программа работала правильно. Задача программы удалят слово const #include...

Линковка, статические, динамические библиотеки - матчасть - C++
Парился сегодня целый день, компиля cUrl c MinGW с поддержкой https - т.е. с OpenSSL и zlib. Долго мучался, ив процессе понял, что имею...

Компиляция, линковка, статические и динамические библиотеки - C++
Доброго вам времени суток. Обращаюсь к вам со списком близких по теме вопросов. Если вам не сложно, хотя бы напишите URL или книгу, где об...

Параметризованный класс. Встроенные арифметические статические или динамические типы данных - C++
Ошибка 1 error C4700: использована неинициализированная локальная переменная &quot;d&quot; Ошибка 6 error C4700: использована неинициализированная...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru