父子函数的调用

我们要向交换两个数,先进行一个简单的程序:


可是经过检验后我们发现,两个数中,当printf放在子函数时是可以交换的,放在下边的main函数(父函数)却不能交换,什么原因呢?

这里需要解释一下:当父函数调用子函数,子函数的值要是想改变,必须满足下边两个条件---

1.传指针

2.解引用

这里就引入了指针这个知识点。我们每个人都有属于自己的身份证号,而指针就相当于专属的一个地址,也是独一无二的。我们利用指针给每个变量分配一个独一无二的地址,就跟去你家找你敲你门家门一样,前提是你要在家。然后我们的程序变成了这样:


记住两点:1.指针就是地址。2.解引用就是返回指针指向的变量的值。

在这呢我们要了解一下NULL指针

NULL指针的意思是标识当前指针为无效指针,对已经置空的指针进行解引用的话程序会崩溃的,如:


这个程序崩溃是不容质疑的,那么请看下一个程序:


运行这个程序后我们发现和我们想的不一样,程序正常运行,原因在于这个变量解引用之后已经是一个值,然后再将它置空是没有意义的,而我们要是想让NULL这个指针发挥作用我们就要使得传回的是一个指针,可以在进行一次解引用,然后将它置空,使得NUll指针发挥作用


好了,问题到此结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值