При работе с указателем таким образом, то выдается ошибка
int *p=NULL;
*p=5; //нельзя так делать
чтобы заработало нужно делать через посредника так
int f=1;
int *p=NULL;
p=&f;
*p=5;
а если работать в динамической памяти то можно так
int *p1 = new int;
*p1=5;
delete p1;
Вопрос в том, как грамотно объяснить почему нельзя делать так как в первом случае?