第一个:声明一个int变量和一个指向int的指针,将这个指针指向前面声明的变量
第二个:声明一个指向int的指针,不对指针赋值而是直接访存修改,此时指针内存放的地址为随机值,可能修改程序或系统的未知部分
(但实际上我跑这个第二题的写法是跑不出来的,可能他说的潜在风险就包括了被编译器检查并报错)
第三个:声明一个指针,将指针指向地址0,合法操作
int i,*p=&i等价于:int i; int *p; p = &i,所以是正确的
int *p; *p = 0;这个没什么风险(这里所谓的风险应该是想让p=0,而不是*p=0),应该是错误的
int *p;p=0;是可以初始化为0的,是正确的。