Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

pointers

629
03 марта 2002 года
TekiL
19 / / 20.09.2000
Вопрос - можно при помощи пойнтера просмотреть содержимое определённого участка памяти? т.е. проблемма в том что пойнтер должен линковаться не к ячейке переменной а скажем к СЛЕДУЮЩЕЙ. по моему тут ясно :
for ( ; x<=100 ; x++)
{
pntx=&amp;x;
cout<<x<<&quot;-&quot;<<*pntx<<endl;
}
данный пример выдаёт 1-1 2-2 3-3 и так далее
pntx=&amp;x; //как привязать pntx к следующей ячейке а не к иксу(что-бы прочитать что в ней записано)

спасибо
606
03 марта 2002 года
Soulless
18 / / 20.03.2000
Указатель это тоже переменная => к нему применимы арифметические операции.Т.е тебе надо сделать pntr++
409
04 марта 2002 года
Ramzes
163 / / 20.09.2000
Цитата:

On 2002-03-03 0935, Soulless wrote
Указатель это тоже переменная => к нему применимы арифметические операции.Т.е тебе надо сделать pntr++



Но у него тут и масива то нет! Если он сделает ptr++, то он будет указывать на левые
данные, а может просто грохнуться...

629
04 марта 2002 года
TekiL
19 / / 20.09.2000
Цитата:

On 2002-03-04 0258, Ramzes wrote
[quote]
On 2002-03-03 0935, Soulless wrote
Указатель это тоже переменная => к нему применимы арифметические операции.Т.е тебе надо сделать pntr++



Но у него тут и масива то нет! Если он сделает ptr++, то он будет указывать на левые
данные, а может просто грохнуться...
[/quote]

не может а уже.. ладно наверно это сложновато... продолжаю обучение.. work in progress

473
15 марта 2002 года
Azazell
49 / / 20.12.1999
если работать со строками, то у меня получалось, что указатель давно уже указывает на области памяти, явно выходящие за размеры массива, все работало, только писать по адресу нельзя было.
может это неправильно?
380
16 марта 2002 года
Arestov
285 / / 20.09.2000
Цитата:

On 2002-03-15 0226, Azazell wrote
если работать со строками, то у меня получалось, что указатель давно уже указывает на области памяти, явно выходящие за размеры массива, все работало, только писать по адресу нельзя было.
может это неправильно?



Указатель может указывать куда угодно, а вот писать/читать/исполнять туда(оттуда) может и нельзя.
Для произвольного указателя можно это проверить используя ф-ции Windows IsGood...Ptr. Например IsGoodWritePtr().

P.S. Возможно, я имя ф-ции переврал. Сейчас посмотреть негде. Я не из дома.

Аноним
все зависит от того, что вам надо, если Вы хотите просто побегать по памяти которую не выделяли под свои нужды то
char* ptr;
ptr = 0xA5C7;// для примера
ptr++; //следующий байт памяти
писать нельзя, вынды сразу отрубят ошибкой.
но должен вас огорчить, вы бегаете по памяти виртуального блока в 4гига который выдемен вашей программе системой, поэтому ни какие системные области вы не задените.

Good luck VitSoft
http//www.development.efficientit.com
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог