int *p = NULL;
1.定义一个指针变量p,这个指针指向的数据类型为int
2.在定义变量p的同时,将p的值设置为NULL
3.注意:此时只是指针p的值为NULL,这就是初始化过程。但是*p没有赋值
int *p;
*p = NULL;
1.第一句定义了一个指针变量p,这个指针指向的数据类型为int;
2.p本身的值是多少不得而知,p有可能保存的是非法地址,那么*p设置为NULL,将是访问非法地址。
C指针初始化详解
本文详细解析了C语言中指针变量的初始化过程,对比了两种不同方式:一是定义时直接初始化为NULL;二是先声明指针,随后再设置其值为NULL。探讨了这两种方式在实际应用中的差异及潜在风险。
int *p = NULL;
1.定义一个指针变量p,这个指针指向的数据类型为int
2.在定义变量p的同时,将p的值设置为NULL
3.注意:此时只是指针p的值为NULL,这就是初始化过程。但是*p没有赋值
int *p;
*p = NULL;
1.第一句定义了一个指针变量p,这个指针指向的数据类型为int;
2.p本身的值是多少不得而知,p有可能保存的是非法地址,那么*p设置为NULL,将是访问非法地址。

被折叠的 条评论
为什么被折叠?