Help плиз с массивами ...
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Привет!
Вот такая бяка ... Есть прога, такого вот типа:
#include <stdio.h>
char Scr[64000];
void main () {
}
Но по какой-то причине компиляторы не дают создать такой большой массив. Как это заставить работать?
Вот такая бяка ... Есть прога, такого вот типа:
#include <stdio.h>
char Scr[64000];
void main () {
}
Но по какой-то причине компиляторы не дают создать такой большой массив. Как это заставить работать?
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Динамически выделять надо. Например, так (для ++)
Код: Выделить всё
char *Scr;
void main() {
Scr = new char[64000];
};
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
И не забывать при этом динамически удалять 

Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Вопрос в продолжение:
не удаленная память освобождается ли системой после завершения приложения (под вынь нт) ?
не удаленная память освобождается ли системой после завершения приложения (под вынь нт) ?
В SAD - все в SAD.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Не удаляется - это лик. К сожалению С++ не Java 

Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
На сколько я понимаю - удаляется. После завершения процесса.Absurd писал(а):Точно не удаляется? Именно после завершения *процесса* ?Не удаляется - это лик. К сожалению С++ не Java
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Чтобы не быть голословным:
Код: Выделить всё
*******:~/tmp> free
total used free shared buffers cached
Mem: 191188 181788 9400 0 41408 95376
-/+ buffers/cache: 45004 146184
Swap: 385520 0 385520
*******:~/tmp> a.out
*******:~/tmp> free
total used free shared buffers cached
Mem: 191188 181788 9400 0 41408 95376
-/+ buffers/cache: 45004 146184
Swap: 385520 0 385520
*******:~/tmp>
Код: Выделить всё
*******:~/tmp> cat test.cpp
char *v;
int main( int argc, char **argv ) {
v = new char[128000];
return 0;
};
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Тогда бы мы работу потеряли, господа, потому, что не нужно было бы искать лики перед релизами 

Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
В Debug'е собрано - однозначно. Debuger такие вещи отслеживает, он же умеет подчищать лики. Попробуй Release.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.