指针定义时为什么一定要初始化? 1.指针不是分配了才能使用,而是分配了之后使用才安全,如果不进行初始化, int *p;之后p指向的地址是随机的,如果此时指向的内容是程序的有效数据,如果修改其数据,可能导致程序不能正常运行,所以要进行初始化。2.初始化之后的效果? 初始化即将指针指向的地址设置为0或NULL,结合if(p)就可以安全使用指针了。 如果指针不为NULL,则说明程序员已经为指针指向了新的地址。