c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符
1.指针
用于存储变量的地址
指针是一个值为内存地址的变量。
2.&运算符(地址运算符)
&后跟一个变量名,给出变量的地址
&a,表示变量a的地址
3.*运算符(间接运算符/解引用运算符)
*后跟一个指针名或地址,给出存储在指针指向地址上的值。
a=1;
p=&a;//p是指向a的指针
v=*p;//将p指向的地址上的值赋给v
//以上三条语句最终结果,将1赋值给v
4.声明指针
类型说明符表示指针所指向对象的类型。
*表示声明的变量是一个指针。
声明指针时使用的星号和解引用运算符不是一个东西。
通常,在声明时,星号和指针名之间有空格,解引用变量时省略空格。
int * a;
char * c;
5.使用指针在函数间通信
使用指针交换两个数,例子:
#include<stdio.h>
void interchange(int * u,int * v){//参数是一个指针类型int temp;temp= *u;//temp获得u指向对象的值*u = *v;*v = temp;
} int main(){int x = 5, y = 10;printf("原始数据 x = %d ,y = %d\n",x,y);interchange(&x,&y);//把地址发送给函数printf("交换后 x = %d ,y = %d",x,y);return 0;
}
//输出:
//原始数据 x = 5 ,y = 10
//交换后 x = 10 ,y = 5
该函数传递的是x和y的地址,u和v将把地址作为他们的值,因此应将u、v声明为指针。
u的值是&x,所以用*u可表示x的值。
x和y的地址传递给该函数,使用指针和*运算符,该函数可以访问存储在这些位置的值并改变他们。
如果调用函数时,传递的是x的地址,那么函数中定义的形式参数必须是一个指向和x相同类型的指针。这样可以在被调函数中改变主调函数的变量。
c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符相关推荐
- R语言ggplot2可视化:使用ggfortyify包中的autoplot函数自动可视化时间序列数据(Time Series Plot From a Time Series Object (ts))
R语言ggplot2可视化:使用ggfortyify包中的autoplot函数自动可视化时间序列数据(Time Series Plot From a Time Series Object (ts)) ...
- C语言试题二十二之定义了3×3的二维数组,并在主函数中赋值。函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。
1. 题目 定义了3×3的二维数组,并在主函数中赋值.函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试 ...
- C语言编程>第六周 ① 编写一个录入函数:用来从键盘接收n个整型数并存放在一个整型数组中。 在主函数中调用该函数计算出这n个整数之和。
例题:编写一个录入函数:用来从键盘接收n个整型数并存放在一个整型数组中. 在主函数中调用该函数计算出这n个整数之和. 代码如下: /*代码分析:录入函数需要两个参数:一个参数是需要用来存储数字的数组, ...
- C语言:自定义函数中调用自定义函数的方法
自定义函数中调用自定义函数 在我们编写C语言程序时,可以将要经常用到的或者有自己单独作用的那一部分代码独立成一个函数,不仅可以简化我们的程序,还可以使我们的程序更加可见话. 正文阿巴阿巴 方法一:直接 ...
- Linux-C基础知识学习:C语言作业-将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印。
Linux基础知识学习 C语言作业:将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印. #include <stdi ...
- c语言习题 定义函数 areaT,功能是求梯形面积。要求在主函数中输入上底(用变量 a存储)、下底(用变量 b 存储)、和高(用变量 h 存储),在主函数中调用函数 areaT,输出梯形面积(用变量
定义函数 areaT,功能是求梯形面积.要求在主函数中输入上底(用变量 a存储).下底(用变量 b 存储).和高(用变量 h 存储),在主函数中调用函数 areaT,输出梯形面积(用变量 s 存储)的 ...
- C++学习笔记-----永远不要在派生类中改变虚函数的默认参数值
提到虚函数,我们就会自然而然的想到多态,但是当虚函数中存有默认参数值的时候,在派生类中重定义这个虚函数时不可以改变这个参数的值. 请看下面的例子: #include "stdafx.h&qu ...
- mysql编写函数 求1 n 偶数之和,编写求1 2 3 - n的函数.在main函数中调用该函数
输入两个正整数m,n,编写求阶乘的函数,计算m!/(n!*(m-n)!). C语言函数解答,谢谢. #includelongfactorial(intm,intn){longsum=1,sum1=1; ...
- 函数中参数有数组时注意的小问题(不一定要传递数组长度,不用返回数组,可以在函数中改变数组元素值)
函数中参数有数组时注意的小问题: 1.不一定要传递数组长度 2.不用返回数组,可以在函数中改变数组元素值 通过下面这个小例子来验证: #include<iostream> #include ...
最新文章
- Windows 技术篇-是否允许程序连接网络误操作解除方法,如何解除阻止程序连接网络,程序连接网络设置方法
- matlab修改矩阵元素,怎么修改矩阵中的某些元素 或者简单点说保留矩阵中的元素...
- 什么是 操作系统 自举?
- android 单机斗地主,单机斗地主
- CSS:盒子模型和清除float浮动的三种常用方法
- 摘抄:微软 Dynamics AX 学习步骤
- Linux下Zend Framework的“Invalid Controller Specified”问题
- 微软向开源社区开绿灯 开放Web服务规范专利[转载]
- 为imageView添加图片实现动画
- Linux工作队列实现机制
- Windows添加.NET Framework 3.0 NetFx3 失败 - 状态为:0x800f0950
- 计算机ppt基础知识题库,计算机二级考试MSOffice考试题库ppt操作题附答案.pdf
- HenCoder Plus L02—— 编码、加密、Hash
- 91卫图助手免费版发布啦
- 【线性分类器】(三)线性分类器的松弛求解: LEMS 算法,H-K 算法
- 国内各运营商(ISP)IP段表
- 80端口和443端口的主要区别
- Python3 计算空气质量指数AQI
- 2022年RPA机器人流程自动化行业研究报告
- MATLAB的线性规划工具
热门文章
- 主键字母自动生成函数
- 第三章 组装个人计算机
- Python3实现从txt文件中读取指定行的方法
- python 函数式编程 库_使用Python的toolz库开始函数式编程的方法
- ui测试怎么做?依据文档有哪些_微信小程序开发流程有哪些?各个环节注意事项...
- linux关闭4750 端口,【ubuntu分享帖】acer 4750G ubuntu安装后的一些设置
- c#中connect函数_C#.NET 各种连接字符串
- showdoc如何创建文件夹_showDoc生成文档
- html 图片position,【图解CSS#Position】
- Win7旗舰版系统hosts文件位置在哪里