栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

1 常见的函数封装调用

2 指针变量的引入

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

#include

//测试大小交换是否成功
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


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;这样简单  这个就是他们发生赋值的写法过程分解。

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737923.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号