powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Откуда берутся символы, из следующих участков памяти?
13 сообщений из 13, страница 1 из 1
Откуда берутся символы, из следующих участков памяти?
    #39476501
ayvango
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
void printTest(char* c, unsigned n) {
	for (unsigned i = 0; i < n; ++i) {
		printf("%d %c \n", i, c[i]);
	}
}

int main() {
         printTest("123", 11);
}



Из строки "123" создаётся временный объект, имеющий место в памяти, при достижении конца которой берутся следующие участки, в которых может находиться всё, что угодно? А на 3-й позиции пустота, поскольку она указывает на завершающий '\0'?

Вывод
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
0 1
1 2
2 3
3
4 Р
5 &#8596;
6 @
7
8 M
9 i
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476513
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ayvangoв памяти, при достижении конца которой берутся следующие участки, в которых может находиться всё, что угодно?да, это остатки от работы других (или этой) программ. Советую посмотреть стек под дебагом при вызове функций.
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476527
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо лезть в память, которую твоя прога не выделяла. Там может быть что угодно: мусор, данные других объектов, а может вообще ничего не быть, тогда твоя прога просто вылетит.
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476687
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ayvango,

По идее должно было сработать исключение типа ArrayIndexOutOfBoundsException ... Но нет! Только не в C/C++ !!!
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476918
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usmanayvango,

По идее должно было сработать исключение типа ArrayIndexOutOfBoundsException ... Но нет! Только не в C/C++ !!!
Это С, а в С++ есть std::vector, он даст исключение.
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476938
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, Си тоже вальнет Exception, если прога попатается вылезти за пределы выделенных ей страниц памяти.
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476952
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T....а может вообще ничего не быть....
Там живет великий NULL!
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476968
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devDima T, Си тоже вальнет Exception, если прога попатается вылезти за пределы выделенных ей страниц памяти.
Не Си а ОС и я об этом уже написал выше 20585131 , это самое лучшее что может случиться. ИМХО Надеяться на это не стоит.
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476985
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНе Си а ОС и я об этом уже написал выше 20585131 , это самое лучшее что может случиться. ИМХО Надеяться на это не стоит.Не вижу проблемы... VEH
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476990
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglDima T....а может вообще ничего не быть....
Там живет великий NULL!Великий NULL живёт в первых 64кБ адресного пространства процесса Windows.
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39476992
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

иногда лучше бухать....
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39477093
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда я кодил на ZX-Spectrum 8bit, то сегменты Основной программы (BASIC, или инициированное через USR()
для нужн ассеблера) пересекались со стеком если стек рос бесконтрольно либо само приложение пухло.
Вобщем никакого разграничения на сегменты не было.

Треш! Угар! И последее что я видел либо мёртвое зависание либо сетка красный вертикальных полосок
(процедура reset... ).
...
Рейтинг: 0 / 0
Откуда берутся символы, из следующих участков памяти?
    #39477406
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не нужны никакие проверки индекса массива в плюсах. Для меня не составляет труда следить за индексом там, где мне это нужно. Но меня бы сильно напрягло бы, если бы массив сам следил и тратил процессорное время на то, что мне не нужно.
maytonТреш! Угар! И последее что я видел либо мёртвое зависание либо сетка красный вертикальных полосокда, весёлое было времечко, когда можно было влезть данными в видеопамять, которая под них в данный момент не подразумевалась
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Откуда берутся символы, из следующих участков памяти?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]