转载自贴吧的一个C语言程序,比较有深意

下面这个C语言程序是用来测试你对指针的掌握程度的,看下面 的程序首先你看懂了吗?其次输出答案是多少?答案是很简单的,不是地址,就是变量i的值!指针p和指针q是等价的,因为它们都是二级指针,因为指针p传给形参q的是它的地址,所以相当于q和p指向了同一个变量i,(*p)等价于(**q),而(**q)又等价于i,所以输出的是i的值,但你知道吗?这个程序存在相当大的隐患,答案不能直接写出来。这个程序是我从C语言贴吧找到的,我给个链接,自己看吧http://tieba.baidu.com/p/2375351530

#include<stdio.h>

 void fun(int ** q)
 {
    int i=5;
    *q= &i;  /*指针指向i*/
 }
 int main(void){

   int * p;
   fun(&p);
   printf("%d\n", *p);
   getch();
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值