Применительно к Борланд-Си (-шному) компилеру, - работать будет совершенно одинаково и в обоих случаях быстрее, чем при объявлении :
int* test_array;
test_array = new int[10];
в "противовес" предложенному Вами статическому выделению памяти, которое (к стати!) "обращением к куче "(heap) совершенно не является :) ! Не помню точно, но статич. выделение памяти в Си имеет ограничение, не зависимо от размера не занятой части оперативки, в то время, как динамически можно "распластаться" на всей свободной. Но всё это актуально для задач обработки инфы, которые решаются сутками (например, моделирование процессов ядерного синтеза внутри Солнца). В "бытовых" приложениях Вы субъективно не заметите разницы при любом подходе.
Удачи.
Другие языки программирования и технологии
Вопрос программистам: есть ли разница в производительности при использовании массивов/кучи обычных переменных?
10 целых переменных занимают 40 байт. Массив из десяти целых переменных - столько же. Нормальная память у компьютера - 4 гигабайта, то есть на миллиард таких переменных (правда, под программу у нас есть обычно около половины этой памяти). Смешно экономить несколько бвйтов из имеющихся сотен миллионов.
Одинаково
Массив это такая же кучка, только он является указателем на var0
struct noob_test
{
int i0;
int i1;
int i2;
int i3;
};
noob_test nt;
int *arr = &nt.i0;
arr[1] = 5;
print(nt.i1);// 5
Работать не будет, там юзается выравнивание. Если его отключить то должно
-------------------------------------
Лучше юзать массив
Массив это такая же кучка, только он является указателем на var0
struct noob_test
{
int i0;
int i1;
int i2;
int i3;
};
noob_test nt;
int *arr = &nt.i0;
arr[1] = 5;
print(nt.i1);// 5
Работать не будет, там юзается выравнивание. Если его отключить то должно
-------------------------------------
Лучше юзать массив
Леонид Лупенко
Зависит от выравнивания, если выравнивать будет по 32 битам, и размер типа int тоже 32, то они окажутся друг за другом. Другое дело, полагаться на это нельзя, с разными настройками компиляции и на разных системах результат может отличаться.
Скорее всего отдельные переменные будут работать немного быстрее, т. к. не нужно вычислять их адрес, в отличие от массива, хотя зависит от того насколько оптимальный код создаст компилятор.
Но в целом это считанные микросекунды, если не меньше.
Но в целом это считанные микросекунды, если не меньше.
ничего, что ты даже язык не указал? такие вещи запросто отличаются в разных ЯП.
и вообще зачем спрашивать? бери сам да тестируй. в чем проблема? если в том чтобы наплодить реально много переменных - так слепи прожку, которая сделает это за тебя. простейший кодогенератор
и вообще зачем спрашивать? бери сам да тестируй. в чем проблема? если в том чтобы наплодить реально много переменных - так слепи прожку, которая сделает это за тебя. простейший кодогенератор
Похожие вопросы
- Помогите написать программу на С. Тема Составление программ с использованием массивов
- А техник-программист это хорошая специальность? Они так же много получают, как обычные программисты?
- Вопрос программистам про Ардуино и обычные вещи
- Как в С++ двухмерный массив записать в переменную??
- Надо задать несколько вопросов программисту из обычной жизни чтобы он заткнулся!=)
- Несколько вопросов программистам по поводу устройства на работу. Вспомните, как вы впервые устраивались...
- Помогите с Си. Вопрос по заданию (насчет типизированной функции, которая должна возвращать массив)
- Вопрос программистам со стажем. Какой язык программирования учить начинающему программисту?
- Вопрос программистам
- Вопрос программистам, реально в 14 начать учиться на программиста?