发布网友
共2个回答
热心网友
NULL是C语言中的宏定义,其值为0.
也就是说int* num = NULL和int* num = 0;
二者的含义是相同的。
其目的在于,0这个地址在操作系统中是只读的,当你尝试访问的时候会阻止你
但是有些地址不是只读的,如果一个指针指向了这个地址,你又在不经意间修改了它
可能会导致一些重要的文件被修改,所以指针初始化成NULL是有必要的
但是话说回来,现在的操作系统都有段保护机制,即使你不初始化成NULL,也不会让你随便访问其他地址的,初始化成NULL可以让你在调试的时候,清晰的看出来你是否曾经对它赋值
热心网友
把指针置空,避免出现问题