函数形参中的指针变量引入

1 常见的函数封装调用

2 指针变量的引入

1常见的函数封装调用 :下面 写一段代码来猜测一下 先不急着给答案 后面会有惊喜的

#include<stdio.h>

//测试大小交换是否成功
void Print(int data,int data2)
{
      int temp;//交换大小
      temp=data;
      data=data2;
      data2=temp;

}

void  main(void)//定义一个 void 类型的 无形参 main 函数
{
    int data=10;// 定义一个 int 类型的 data 变量
    int data2=11;

    Print( data,data2);//调用封装函数
    printf("最后交换 结果 :%d %d",data,data2);//打印数据


}

这段代码 不多 但是很容易踩坑 我也相信大家有了答案

 为什么 会出现这样的现象  函数不是发生调用了  并且打印 了 

因为c语言 在你每生成一个函数 就会产生一个内存地址 虽然 发生了赋值 但是 并没有起到作用

 因为在主函数定义的  就直接打印出来了 调用的函数 虽然传值过去了 但是不在同个地址操作  

所以 不会 产生联系。

下面就是要在发生调用的函数中 引入改变形参类型    那就是 指针变量  定义一个指针变量 通过赋值的方式 存放地址到指针变量  通过函数操作交换大小 

#include<stdio.h>


void Print(int *data,int *data2)
{
      int temp;//交换大小
      temp=*data;
      *data=*data2;
      *data2=temp;

}

void  main(void)//定义一个 void 类型的 无形参 main 函数
{
    int data=10;// 定义一个 int 类型的 data 变量
    int data2=11;

    Print(&data,&data2);//调用封装函数
    printf("最后交换 结果 :%d %d",*(&data),*(&data2));//打印数据


}

2 指针变量的引入

这里先说一下  调用函数他是怎么发生赋值的 

 左箭头 可以写成 int*data=&data 这里包含了初始化和定义   分开写是这样 int *data;data=&data;这样简单  这个就是他们发生赋值的写法过程分解。

指针变量 就是存放地址的变量  相对于 传一个主函数的地址 到指针变量里面操作   相当于是一个同样的地址   这样才能完成数字大小交换 。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值