C语言指针一看就明白了,利用指针跨函数修改变量

 

#include "stdio.h"

int main(void)
{
int x=10;
int *p;
p=&x;

printf("*P=%d",*p);//会输出*p=10;
}

                                                                      示意图

 

 

   由上面可知,

   定义了一个基类型为int的指针变量p,

  1.   p存放的是变量i的地址,所以给变量p初始化一定是给变量p赋予一个地址
  2.   p指向x,
  3.  *p等价于x ,所以*p的值会等于x的值,*p==x成立

 

 由指针的意义可知,*p等价于x,那么可以通过指针p来改变x的值。如下:

 

#include "stdio.h"
void f(int *)

void f(int * p)
{
 *p=20;

}


int main(void)
{
int x=10;

f(&x);

printf("x=%d",x);//会输出x=20;
}

由上可知,在main函数中可以调用函数 void f (int * p) ,通过传递形参  int *p=&x,

f()函数中的 *p 等价于 x,所以可以通过改变 *p 的值来改变x的值。

以上通过指针的方式跨函数改变了main函数变量x的值。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值