声明了一个指针变量 int *p后,p的址址即告确定,但p的值是随机值,会指到哪里去谁也不知道,所以叫“野指针”。咐笑瞎只有对p人为进行赋值后,p的值才可控,特别的,对p的第一次人为赋值,称为初始化。所以你提到的第一、二种方法都是初始化。关于赋给p的应该是什么值,不要太着相了,p就是个4字节变量而己,理论上4字节长的数值都可以赋,当然实际上出于安全考虑,不会这么乱来。举例来说:(1)&i:就是i的地址。其实也是一个数值,只是省了你自己查找i地址的麻烦。(2)i:如是i是一个整型变衡空量,并且其数值作为地址是有意义的,就可以(3)NULL:就是0。0作为地址可以吗?当然可以。你写成int *p=0也一样。综上:只声明、没赋值过的指针都是野指针,初始化就是第一次赋值。能升喊赋给指针的,只要是可以解释为地址的数值都可以。
相关文章
-
动态链接库(DLL)初始化例程失败,是怎么回事?
2023-03-26 00:18 阅读(684) -
苹果八门神器初始化失败,怎么解决。求高手
2023-03-24 08:30 阅读(575) -
电脑出现应用程序正常初始化(0xc0000022)失败,怎么回事?
2023-03-22 08:47 阅读(583)