指针在定义后必须要先初始化才能使用,为什么?如果不这样做,对程序有何影响?

同上

不初始化也可以正确使用,只要在使用时正确赋值就可以,但是如果不初始化,则该指针为漂浮的指针,所指的地址不确定,而且指向的地址中的内容也不确定,如果乱用的话可能会影响其他程序的运行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-12
指针定义后没有指向任何一个地址
初始化后编译器随机地给指针分配一个地址后它才有了实际的意义
比如定义一个指针FLOAT
未初始化是它的值是“NULL”
初始化后就是一个内存地址了
第2个回答  推荐于2018-04-19
对程序的影响是:
编译可能出错误/警告,或者运行有问题
不初始化的变量就使用可能会出现警告。

对于外部或静态指针变量在定义中若不带初始化项,指针变量被
初始化为NULL, 它的值为0。Turbo C中规定,当指针值为零时,指针不指向任何有效数据,有时也称指针为空指针。因此,当调用一个要返回指针的函数时, 常使用返回值为NULL来指示函数调用中某些错误情况的发生。本回答被网友采纳
第3个回答  2013-08-12
如果该指针是局部变量,则如果没初始化,它的值是随机值,对于它的操作很可能引起段错误,导致程序崩溃
如果该指针是全局变量,则它默认的初始值是NULL,任何最NULL指针的引用都会被判错,导致程序崩溃。
一个合格的程序员必须养成在定义的时候指针是对其初始化,并且对用完的指针置NULL。
相似回答