c语言:如何编写函数,改变传入的指针参数的值

 #include<stdio.h>
 int source =1;
 int* cope_adress(int *a)
 {
    a=&source;
 }
 int main()
 {
     int b=2;
     int *purposes;
     printf("source  address  is  %p\n",&source);
     purposes=&b;
     cope_adress(purposes);
     printf("cope_adress  is  %p\n",purposes);
 
 }
*************************************
*************************************
book@xxx:~/work$ g++ myname.c 
book@xxx:~/work$ ./a.out
source  address  is  0x601040
cope_adress  is  0x7ffdad9a7b7c
 #include<stdio.h>
 int source =1; 
 int* cope_adress(int **a)
 {
    *a=&source;
 }
 int main()
 {
     int b=2;
     int **purposes;
     printf("source  address  is  %p\n",&source);
     int *myb=&b;
     purposes=&myb;
     cope_adress(purposes);
     printf("cope_adress  is  %p\n",*purposes);
 
 }
*************************************
*************************************
book@xxx:~/work$ gcc 1.c
book@xxx:~/work$ ./a.out
source  address  is  0x601040
cope_adress  is  0x601040

看上去,只有 函数形参 是函数体内的使用的变量的地址才可以赋值成功。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值