如何用一个函数修改另一个函数的值
首先可以明确的一点是,一个函数想要修改另一个函数的变量值,必须传指针和解引用。
错误范例1:
void Swap_err(int a,int b)
{int tmp = a;a = b;b = tmp;
}
int main()
{int a = 10;int b = 20;Swap(&a,&b);printf("a=%d,b=%d",a,b); //传a,b的地址(因为Swap函数定义的是指针变量)return 0;
在这个函数中没有传指针,只是值传递。
错误范例2:
void Swap_err(int *p1,int *p2)
{int *tmp = p1;p1 = p2;p2 = tmp;
}
int main()
{int a = 10;int b = 20;Swap(&a,&b);printf("a=%d,b=%d",a,b); //传a,b的地址(因为Swap函数定义的是指针变量)return 0;
在这个函数中没有解引用。
错误范例3:
void Swap_err(int *p1,int *p2)
{int *tmp;//野指针*tmp = *p1;//崩溃*p1 = *p2;*p2 = *tmp;
}
int main()
{int a = 10;int b = 20;Swap(&a,&b);printf("a=%d,b=%d",a,b); //传a,b的地址(因为Swap函数定义的是指针变量)return 0;
在这个函数中有野指针,导致函数崩溃。野指针和空指针不一样。野指针:悬挂指针,没有访问权限的地址。NULL:空指针,无效指针,不能解引用。野指针可以定义,但不能访问和赋值。
正确写法:
void Swap(int *p1,int *p2)
{int tmp = *p1;*p1 = *p2;*p2 = tmp;
}
int main()
{int a = 10;int b = 20;Swap(&a,&b);printf("a=%d,b=%d",a,b); //传a,b的地址(因为Swap函数定义的是指针变量)return 0;
}
如何用一个函数修改另一个函数的值相关推荐
- pandas如何通过函数修改某一列的值?
在python中,如何运用pandas通过函数修改某一列的值呢?阅读本文,你就会了. 目录 一.测试数据 二.明确目标 三.程序代码 四.简单总结 一.测试数据 二.明确目标 我们的目标就是将上报时间 ...
- 【Linux 内核】进程优先级与调度策略 ③ ( 设置、获取线程优先级的核心函数 | 修改线程调度策略函数 )
文章目录 一.设置.获取线程优先级的核心函数 二.修改线程调度策略函数 一.设置.获取线程优先级的核心函数 设置.获取 线程 优先级的 核心 函数 : ① 设置 " 创建线程 " ...
- C++ : 类的成员函数修改类中数据成员值
遇到一个问题是:在类中有一个数据成员,是public的,在类的成员函数中进行修改,这个类的成员函数可能是要调用多次,想知道是不是每一次调用都有效 写了一个测试函数: #include <iost ...
- flink中的java匿名函数修改为实名函数
[1]中有这么个代码 DataStream<Tuple2<String, Long>> keyedStream = env.addSource(consumer).flatMa ...
- python——函数(定义函数、传递实参、返回值、传递列表、传递任意数量的实参、将函数存储在模块中、函数编写指南)
目录 定义函数 传递实参 返回值 传递列表 传递任意数量的实参 将函数存储在模块中 函数编写指南 定义函数 #------定义函数---------- def user():print('hello! ...
- 【Python 3.7】编写一个名为make_great() 的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样“the Great”。
[Python 3.7]编写一个名为make_great() 的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样"theGreat".调用函数 show_magician ...
- ACMNO.23 C语言-素数判定 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime
题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 来源/ ...
- 20 Python函数、定义一个函数、参数传递、匿名函数、return语句、变量作用域、
20Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...
- python一个函数调用另一个函数_在Python中将函数作为另一个函数的参数传入并调用的方法...
在Python中,函数本身也是对象,所以可以将函数作为参数传入另一函数并进行调用 在旧版本中,可以使用apply(function, *args, **kwargs)进行调用,但是在新版本中已经移除, ...
最新文章
- iOS开发 关于启动页和停留时间的设置
- AI一分钟 | AI溃败,Dota2人机大战首场终结;阿里公布第一财季财报,净利76.50亿元...
- 中国学者变革300多年来的活塞!MIT、哈佛联手,动力3倍以上,可节能40%
- Debian和CentOS主流系统按包含文件名称搜索软件包
- Laravel 日期时间处理包 Carbon 的应用
- 在浏览器里使用 SAP GUI
- Spring系列(六) Spring Web MVC 应用构建分析
- PDF转换为其他格式的方法
- Android 不自动弹出软键盘
- 现代信号处理——自适应滤波器(匹配滤波器)
- 玩游戏提示计算机内存不足怎么办,打开软件提示内存不足怎么办?电脑提示内存不足解决办法...
- Software Protection无法启动造成slmgr.vbs激活win10失败
- DMA普通模式(normal)发送通过串口连续发送数据
- myeclipse17创建Web、Maven项目
- 某软件测试大纲,软件测试(验收)大纲
- Docker学习(二):安装软件
- Django 查看migration文件生成的sql
- html代码设置五边形,javascript怎么画正五边形?
- Photozoom图像放大的技术一二事
- ERROR: Command errored out with exit status 1: command: /bin/python -c ‘import sys, setuptools, toke