IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   msdev бесится (https://www.imho.ws/showthread.php?t=69302)

LN berf 25.09.2004 06:36

msdev бесится
 
Ниче не понимаю!!

Всего навсего написал

Код:

#include <stdio.h>

int main()
{
        int *p;
        *p = 3;
        return 0;
}

Запускаю debug а он меня кааааак пошлет! :)

"Unhandled exception in example.exe: 0xC0000005 Access Violation"

Что за фигня??. Почему невозможно присвоить содержимому адреса p значение 3??? :confused:

Жду ответов.

alexey_ma 25.09.2004 10:33

Память нужно выделить под переменую. Обьявление указателя не значит что память выделилась сам собой. Вызови new или malloc.
Код:

int main()
{
        int *p = new int;
        *p = 3;
        delete p;
        return 0;
}


Scary Zet 26.09.2004 23:56

LN berf
Надо не так.
Надо:
int *p;
p = (int *)3;//Вот так мы присваиваем значение указателю

А если
*p = 3;//Присваиваем значение ячейке памяти по адресу, который у тебя ещё не определён. С некоторыми адресами это пройдёт, а с некоторыми вызовет исключение.

p - это сам указатель.
*p - это значение по указателю.

LN berf 27.09.2004 09:58

Понял. Спасибо всем за помощь :)


Часовой пояс GMT +4, время: 20:52.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.