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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ При компиляции программы в dev C++ выдает ошибки http://www.cyberforum.ru/cpp-beginners/thread697870.html
http://files.mail.ru/0JL3TJ
C++ Английские слова: перевод из единственного числа во множественное В программе в комментарии, то что не могу сделать. Описание: В файле in.txt находятся слова на английском языке в единственном числе (через запятую, табуляции и переносы строк игнорируются). Пробелы внутри "слов" (т.е. пробелы без запятых) не считаются разделителями (т.е. "black fox" считается одним словом и обрабатывается соответственно), пробелы в начале и в конце слов выкидываются. В... http://www.cyberforum.ru/cpp-beginners/thread697865.html
C++ Перевод из консольного вида в обычный
задачка: Дан текстовый файл..считать из него ( это я знаю как), потом изменить в нем строку(вводиться пользователем какую заменить и на что) и сохранить. #include <stdio.h> #include <string.h> /* stf - что ищем; rtf - на что меняем; fpath - путь к файлу; str - стока текста*/ int main () { char file_path = { 0 }, stf = { 0 }, rtf = { 0 }, str = { 0 }; FILE* file = NULL;
Литература по связаным спискам C++
Кто знает какую нить хорошую литературу по связаным спискам где хорошо и понятно росписано "что где и почему...".
C++ Windows Forms VisualStudio2010 http://www.cyberforum.ru/cpp-beginners/thread697843.html
Доброго времени суток! Господа,может кто подскажет, как реализовать данный код в WinForms? С созданием шаблона окна все понятно, затруднение в том,как заставить программу выполнять вычисление по нажатии кнопки. Как это все связать? Буду благодарен,если кто подскажет хорошую инфу по теме. #include <iostream> int main() { double x,y,a;
C++ устранить ошибку помогите пожалуста устранить ошибку в програме.. #include <stdio.h> #include <time.h> #include <math.h> #include <conio.h> #include <stdlib.h> double func(int a, int b, int c) { return (4.5*abs(a-b)*sqrt(c)); подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,695
Записей в блоге: 3
14.11.2012, 22:05     Массивы. Статические и динамические
Цитата Сообщение от 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;
Вопрос о том какой массив лучше некорректен. Вполне возможно, что статический немного быстрее, но главное не это, а то какой использовать в конкретной ситуации. Динамические структуры позволяют многократно использовать одну и туже память, выделять её по мере возникновения необходимости и в объёме необходимом в данный момент. Статический массив, особенно, с глобальной областью видимости, проще в обращении, но неповоротлив и занимает имя в пространстве имён файла.
 
Текущее время: 05:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru