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

хитрая константа не даёт создать обычный массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы и натуральные числа http://www.cyberforum.ru/cpp-beginners/thread391748.html
Помогите пожалуйста написать программу. Ввести натуральное число n. а) Записать в массив только те делители числа n, которые являются палиндромами. б) Вывести все делители числа n, у которых последняя цифра наименьшая. Заранее спасибо.
C++ Класс "Список", функция добавления элемента в конец #include <iostream> #include <cstring> using namespace std; struct myElem { char *line; myElem *next; myElem(const char* str) http://www.cyberforum.ru/cpp-beginners/thread391731.html
C++ Вывести все целые числа, расположенные между заданными
Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их убывания. Использовать цикл for. #include <stdio.h> #include <conio.h> void main() { int a,b,i; clrscr(); printf("vvedite a: "); scanf("%i",&a);
C++ Проверьте, пожалуйста, правильность составленного мной алгоритма)
Вот код: #include <iostream> #include <stdlib.h> #include <stdio.h> int main() { FILE *fp; int n, i, min, number, sum, a; char fname = "D:\\file.txt";
C++ #pragma once http://www.cyberforum.ru/cpp-beginners/thread391715.html
Можно ли считать директиву #pragma once полноценно заменой техники #ifndef MYFILE_H #define MYFILE_H ... #end if
C++ Ошибка сегментации. Здравствуйте, дорогие форумчане! Тут такое дело, есть программа, код приведен ниже, там есть некоторый массив D. После компиляции программы вместе с этим массивом, программа вылетает, выдав ошибку Без неё, программа компилируется, выполняет циклы и успешно завершает работу. Проверил отладчиком, выдало "ошибку сегментации". Увеличил размер стека, тож не помогло. Чё делать? #include... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
25.11.2011, 21:56     хитрая константа не даёт создать обычный массив
Цитата Сообщение от Chelioss Посмотреть сообщение
C++
1
2
3
4
5
6
7
char mas[1024 * 1024 * 1024];
 
 
int main()
{
    return 0;
}
C++
1
2
3
4
int main()
{
    return 0;
}
Разницы в размере .exe, т.е. исполняемого файла нет.
Хороший пример! Статическая память не хранится в образе программы, если она не инициализирована каким-то значениями, отличными от 0. В образе программы хранится лишь значение объема этой памяти, которая будет выделена программе при ее загрузки, для размещения в ней статических данных программы, и будет инициализирована нулем до входа в main. Это сделано специально того, чтобы уменьшить размер загрузочного модуля. Представьте себе, если бы выхранили всю эту память, которая ничем не инициализируется в образе загрузочного модуля. Тогда бы загрузочный модель вообще не смог бы поместиться на дискету!

Но если вы свой массив проинициализируете значениями отличными от 0, то вы увидите, что размер вашего модуля увеличился!

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