对指针变量取地址_C语言指针简介(amp;和*运算符)
取地址符(&) 和 取值符(*)
(1)& 运算符 :用于取一个对象的地址
例如:int *p; p = &c; 将c的地址赋值给指针变量p,我们称p为 “指向” c的指针。
取地址运算符只能用于内存中的对象,即变量与树组元素,它不能作用于表达式、常量或register类型的变量。
(2)* 运算符:作用于指针时表示访问指针所指向的对象
例如:int x; x = *p; 将p指向的地址所对应的对象赋值给x,所以 x 就等于c的值
(3)& 与 * 使用示例:
int x = 1, y = 2, z[10];
int *ip; //ip is a pointer to int
指针简介
指针:一种保存变量地址的变量。
声明形式: 数据类型 *指针名;
例如:int *p; //声明了一个int型的指针变量p
注意:指针只能指向某种特定类型的对象,也就是说,每个指针都必须指向某种特定的数据类型。(一个例外情况跟是指向void类型的指针可以存放指向任何类型的指针,但它不能间接引用其自身)
由于指针也是变量,所以在程序中可以直接使用,而不必通过间接引用的方法使用。
例如 如果iq是另一个指向整型的指针,那么语句 iq = ip 将把ip中的值拷贝到iq中,这样,指针iq也将指向ip指向的对象。
代码讲解:
char ch = 'a';char *cp =&ch;
ps:左值、右值表示表达式在等号的左边还是右边。
右值:&ch 表示的是ch变量所在的地址;
左值:他的左值是非法的,因为没有指定一个存储空间,&ch只是int类型的常量,不能给它赋值;
右值:cp表示的是cp指针变量保存的地址值,这里保存的是变量ch的地址;
左值:可以使任意同类型变量的地址
右值:与&ch类型,这里取得是指针变量的地址,是指针的指针地址;
左值:非法,只是一个int类型的常量
右值:间接访问符,取得指针指向的变量ch的值;
左值:设置指针指向的变量ch的值
右值:取得指针指向的变量ch的值 再加1;
左值:非法。
右值:取得ch下一个内存地址的值;
左值:设置ch下一个内存地址的值;
右值:++在前,表达式指向ch下一个内存地址,之后cp的值加1;
左值:非法
右值:表达式指向cp原来的值,之后cp的值加1
左值:非法
右值:指向ch下一个地址的值,之后cp加1;
左值:设置ch下一个地址的值,并cp加1;
右值:先取得cp所指向的地址的值,就是ch的值,然后cp再加1;
左值:设置ch的值,cp加1
右值:是cp指向的地址的值(ch的值),在加1;
左值:非法
右值:从右到左结合,先是cp的地址加1,然后去该地址的值,最后值加1
左值:非法
右值:先执行后面的++,这个返回的是cp的拷贝,然后访问cp指向的地址ch的值,最后ch的值加1,cp加1;
左值:非法
对指针变量取地址_C语言指针简介(amp;和*运算符)相关推荐
- C语言中 指针变量 取地址符的用法 *指针变量名的用法
文章目录 总结 Intro Code 图示 总结 众所周知,内存可以看成一个一个相邻的格子(类比Excel),而数据就存储于这些格子之中(size大的变量占用格子数多,size小就占用小).而每个格子 ...
- 对指针变量取地址意义
先说结论 对一级指针取地址运算就是就相当于二级指针 #include<stdio.h> void func(int** a, int** b) {static int x = 100;st ...
- printf 指针地址_c语言对指针的理解
先来讲一下本人学指针的经历:大一的时候刚接触c语言对指针这东西真的是太迷了,感觉麻烦难懂不想其他语言一样.但是搞懂以后就被指针的魅力吸引甚至喜欢上c语言.不多讲,开始!(文章可能有些长,但放心全是基础 ...
- 返回局部变量或临时变量的地址_C++的函数不可以返回局部变量的指针
很多童鞋在编写函数返回指针的时候,常常会出现一些列内存错误.当然这可能是很多原因造成的,但是有一个原因就是返回的是局部变量的指针.先给出结论C++的函数不可以返回局部变量的指针. 首先要明确局部变量的 ...
- 64位程序怎么判断指针是否有效_C 语言指针怎么理解?
注: 看完这篇一定会让你理解透彻指针的本质 是的,这一篇的文章主题是「指针与内存模型」 说到指针,就不可能脱离开内存,学会指针的人分为两种,一种是不了解内存模型,另外一种则是了解. 不了解的对指针的理 ...
- 指针(*)、取地址()、解引用(*)与引用()
指针(*).取地址(&).解引用(*)与引用(&) C++ 提供了两种指针运算符,一种是取地址运算符 &,一种是间接寻址运算符 *. 指针是一个包含了另一个变量地址的变量,您可 ...
- 一、初级篇——指针(*)、取地址()、解引用(*)与引用()的区别
1. 初步了解--指针与取地址 先看程序: #include<stdio.h>int main(void) {int num = 7;int *p = #//初始化指针,也可以写作int* ...
- C++ 指针与取地址
知识点小结 C++的指针和引用因为涉及到地址和地址当中的存储内容,所以比较容易混淆.首先需要注意的是,指针和引用存放的都是被引用对象的地址!地址!地址!比如对于指针,当我们定义一个指针p,比如说int ...
- 【C 语言】字符串拷贝 ( 函数形参使用推荐方法 | 凡是涉及 修改指针指向 的操作一律创建新的 指针变量 执行 | 引入 辅助 局部 指针变量 )
文章目录 一.函数形参使用推荐方法 二.完整代码示例 一.函数形参使用推荐方法 在函数中 , 形参 中的 指针变量 , 不建议直接使用 ; 推荐 在 函数中 , 定义 局部 指针变量 , 接收 形参中 ...
最新文章
- Sprites实现翻页按钮,圆角,宽度不固定
- MySQL—03—MySQL的查询
- C++:=default一些说明
- Ext之Combobox的远程加载数据实例(附前后台代码)
- 2015年中国钢铁企业排名50强名单
- 编程实现 4 条重写规则,可生成半法式和法式
- TPC-H生成Spark测试用的伪数据集(转载)
- 不属于python数据类型的是_Python不支持的数据类型有( )。
- 华为python有必要学吗_【华为云技术分享】这个 Python 库有必要好好学学
- java中字符串后加Box_字符串未显示在JavaFX中ComboBox的Tableview上
- updatebyprimarykeyselective的where条件是全部字段_多组连续数据对比,不满足单因素方差分析的条件怎么办?...
- 从零实现深度学习框架——常见运算的计算图
- 3.7 Spark RDD编程
- 11th Iran Nationwide Internet Contest 解题报告
- 海贝音频384khz_海贝音乐app下载-海贝音乐手机版下载v3.3.0 - 星光下载
- 常用DOS命令(三)--RD命令
- 马踏棋盘问题的程序c语言,C语言马踏棋盘
- Docker使用阿里云镜像
- plotwidget横坐标日期_求助x轴为日期时间的图形绘制
- 我的2018——最美的年龄为最纯的梦想尽最大的努力