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

Инициализация указателя - C++

Восстановить пароль Регистрация
 
fuelcs
12 / 12 / 0
Регистрация: 23.01.2013
Сообщений: 143
25.02.2013, 01:06     Инициализация указателя #1
Написал такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
int main()
{   
    int n=10;
    int* a=new int [n];
 
    cout << a;
 
 
    return 0;
}
записал адрес и вставил:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
using namespace std;
 
int main()
{   
    int* a=(int*)0x002D1DB8;
 
    cout << *a;
 
 
    return 0;
}
Почему программа вылетает?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
25.02.2013, 01:07     Инициализация указателя #2
А вы во второй раз получили у операционной системы разрешение на использование того куска памяти? Нет? Ещё вопросы?
fuelcs
12 / 12 / 0
Регистрация: 23.01.2013
Сообщений: 143
25.02.2013, 01:13  [ТС]     Инициализация указателя #3
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
разрешение на использование того куска памяти?
то есть до перезагрузки ни одна программа не сможет использовать этот адрес?
Или все таки можно "получить разрешение"?
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
25.02.2013, 02:14     Инициализация указателя #4
Адреса у каждой программы свои собственные. Это проблемы операционной системы — где именно хранить то, что программа запишет по этим адресам. Разрешение брать у неё же: или с помощью new() — тогда она выдаст первый попавшийся подходящий адрес; или системным вызовом попросить застолбить себе страницы памяти, которым принадлежат нужные адреса (а они моугт оказаться уже занятыми).
Yandex
Объявления
25.02.2013, 02:14     Инициализация указателя
Ответ Создать тему
Опции темы

Текущее время: 04:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru