空指针在主函数中被赋值与在调用函数中被赋值的差别
来源:互联网 发布:网络恐吓怎么解决 编辑:程序博客网 时间:2024/05/22 10:22
# include <stdio.h>
int main()
{
int a=10;
int *p=&a;
p=NULL;
printf("%d\n",*p);
return 0;
int main()
{
int a=10;
int *p=&a;
p=NULL;
printf("%d\n",*p);
return 0;
}
在这个程序中因为将a的地址赋值给指针p,然后又将p中的存储的a的地址赋值为空,所以指针p,不再有指向,打印*p程序崩溃。
# include <stdio.h>
void Fun(int *p)
{
p=NULL;
}
int main()
{
int a=10;
int *p=&a;
Fun(p);
printf("%d\n",*p);
return 0;
}
在这个程序中,先将a的地址赋值给指针p,然后调用函数Fun,将p中存储的a的地址传到Fun中,该指针在调用函数中,将传到该调用函数中的指针赋值为空,此时调用函数中的指针已经不是指针p,所以修改的也只是另外一个指针,此时传回到主函数的指针不再是之前保存a的地址的指针p,所以对于指针p仍然指向a,,*p为 10.
阅读全文
0 0
- 空指针在主函数中被赋值与在调用函数中被赋值的差别
- 函数指针的赋值与调用
- C++学习笔记-----在重载的赋值运算函数中调用拷贝构造函数
- 类中函数指针的赋值
- c++中被赋值的函数
- 函数内空指针调用其他函数赋值
- 函数的指针如何说明、赋值、调用
- 函数的指针如何说明、赋值、调用
- C++中拷贝构造函数和赋值函数被调用的时机
- Java中的类,成员变量的值,在声明的时候直接赋值与在构造函数中再赋值,这个是无所谓的,还是有什么规矩?
- 遇到的问题-----------定义一个全局变量,在page_load里赋值,但在其他按钮中调用仍为空
- vc++在成员函数中对成员变量赋值
- c语言中不允许在函数外部给全局变量赋值
- 在函数中利用scanf为结构体数组赋值
- js、Extjs中函数的赋值和调用
- 类的构造函数、拷贝构造函数、赋值函数、析构函数,分别在何时调用。
- 未被赋值的数在四则运算中使用
- 函数指针的赋值形式
- Java中Transient关键字解释
- 微信小程序:2个月收入超千万!揭秘自媒体为何都进驻小程序电商?
- ps和grep 的用法
- TextView属性大全
- mybatis CONCAT 函数和 foreach用法 个人demo
- 空指针在主函数中被赋值与在调用函数中被赋值的差别
- android 开发常见错误汇总系列
- 汇编程序16位带符号变量计算
- 基于crf的命名实体识别的一部分总结加文本分类大致流程
- vue学习笔记[1] 开始
- Linux系统命令
- 16位伪指令汇编程序查看内存
- priority_queue 的用法
- 【java】基础