指针问题.
ML20 2003-02-13 09:35:49 用malloc分配一个空间,定义一个pointer指向它,用free(pointer)能不能达到free这个空间的目的.
#include <stdio.h>
#include <stdlib.h>
int main(){
int * Node=NULL;
int * pointer=NULL;
if(!(Node=(int *)malloc(sizeof(int))))return 1;
* Node=9;
pointer=Node;
printf("*Node=%d\n",* Node);
free(pointer);
printf("*Node=%d,Node=%p\n",* Node,Node);
free(Node);
printf("*Node=%d\n",* Node);
return 0;
}
显示:
*Node=9
*Node=9
*Node=1460
退出程序时显示
Null pointer assignment
请问通过free(pointer)达到free(Node)的目的了吗?
为什么会显示Null pointer assignment这句话呢?