欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

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

时间:2023-06-02

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语言 在你每生成一个函数 就会产生一个内存地址 虽然 发生了赋值 但是 并没有起到作用

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

所以 不会 产生联系。

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

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

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

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。