*运算和&运算
/*
&:取地址运算符
*:指针运算符(或称为间接运算符),取指针所指向的对象的内容
*/
int a,b;
int *pointer_1, *pointer_2;
pointer_1 = &a;//把变量a的地址赋给pointer_1,切记不要将一个整数赋值给指针变量
&*pointer_1;//&和*的优先级相同,但按自右而左的方向结合,次句先执行(*pointer_1)而* pointer_1就是变量a,再执行&运算,故&*pointer_1 和 &a等价,即取变量a的地址
*&a;//先进行&运算得a的地址,再进行*运算,即&a所指向的变量即a,故*&a 和 a 等价
*pointer_1++;//++和*的优先级相同,自右而左结合,故相当于*(pointer_1++),但由于++再pointer_1的右侧,因此先执行*pointer_1得a的值,在将pointer_1++,这样pointer_1就不再指向a了
(*pointer_1)++;//与a++等价
/*********************************************************************/
/*数组与指针*/
int num[10];
int *p;
p = &num[0];//将num[0]元素的地址赋给指针变量p,p指向数组的第0号元素
//c语言规定数组名(不包括形参数组名,形参不占用内存)代表数组中首元素的地址,故以下两
p = &num[0];
p = num;
//语句等价
*p = 1;//在这里将1赋给p当前所指向的数组元素即num[0],值得注意的是赋值前p必须指向一个数组元素
//C中规定指针变量p已经指向数组中的一个元素,则p+1指向同一数组中下一个元素,而不是将p的值简单+1;例如,数组元素是float型,没个元素占4个字节,则p+1意味着p的值(地址)加上4个字节,p+1所代表的地址实际上是p+1*d,d是一个数组元素所占的字节数
//如果p的初值为&num[0],则 p+i和num+i都是num[i]的地址
*(p+i);
*(num+i);
//是p+i或num+i所指向的数组元素即num[i]
/*******************************************************************/
/*总结*/
p++;
p+=1;//使p指向下一元素,即num[1]
*p++;
*(p++);//先得到p指向变量的值即*p,再使p+1=>p
*(++p);//先使p+1=>p,再取*p
++(*p);//表示p指向的元素值+1
//如果p指向num数组中第i个元素;则:
*(p--);
num[i--];//这两语句等价,先对p进行*运算,再使p自减
*(++p);
num[++i];//这两语句等价,先使p自加,再做*运算
*(--p);
a[--i];//这两语句等价,先使p自减,再做*运算
*运算和&运算的更多相关文章
- 位运算&字节运算
- oracle的递归运算(树运算) 无限树形
oracle的递归运算(树运算)start with org_id ='1'connect by prior parent_id=son_id 1.前言 oracle的递归运算,在我们web页面的 ...
- 学习php 韩顺平 数据类型 三元运算,字符串运算类型运算
数据类型 整型:int 4个字节长度 1个字节8个bit 所以最大的整型数值是2的31次方 第一位是的0,1 表示正负,0表示正数,1表示负数 小数(float)分 精度计算 从左边开始算第一个不为 ...
- Python3基础 ** 幂运算 // 整除运算
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 简单的java程序通过对话框输出 计算加减乘除运算(运算方法可选择)
import javax.swing.JOptionPane; // import class JOptionPane public class Addition { public static vo ...
- 图 ADT接口 遍历运算 常规运算 邻接矩阵实现
Graph.h (图的结构, 遍历, 常规操作接口) /*定义图的最大定点数, 它要大于等于具体图的顶点树n*/ #define MaxVertexNum 12 /*定义图的最大边数,它要大于等于 ...
- jQuery的加法运算.
jQuery的加法运算. 加法运算 ?想必大家听到这都会不屑了,加法运算这是多么简单的运算.然而有的时候在jQuery也让人挺头疼的. 常规的是: var num1 = 123; var num2=1 ...
- C#位运算讲解与示例
首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了. 如: p ...
- C#枚举中的位运算权限分配浅谈
常用的位运算主要有与(&), 或(|)和非(~), 比如: 1 & 0 = 0, 1 | 0 = 1, ~1 = 0 在设计权限时, 我们可以把权限管理操作转换为C#位运算来处理. 第 ...
随机推荐
- poj1273 Drainage Ditches (最大流模板)
http://poj.org/problem?id=1273 Dinic算法 这是一道最大流的经典题 最大流尽量应该用边表,优于邻接矩阵(所以我写了邻接矩阵版的之后又写了个边表) 用了新学的Dinic ...
- Vue多环境配置
Vue多环境配置 大家都知道,使用vue-cli脚手架生成的Vue项目只有开发环境和生产环境,然而在实际开发中,用到的不止这些环境,还包括测试环境,准生产环境等等.所以需要自己添加没有的环境. 以测试 ...
- IntelliJ IDEA 安装golang 插件
作者的机器为mac OS 用户首先需要在自己的个人机器上安装好 golang 的环境,详细可以参考 hyperledger fabric 1.0.5 分布式部署 (一)安装 golang 的部分. ...
- Posture Energy——姿态的能量
人的生活是套路化的,人活得越久,被套路化的概率就越大.普通百姓的生活都如同一个模板刻出来的. 一旦生活微调,我们会突然发现原来几十年的认知有问题,如同重获新生的感觉.譬如:早起,当我们每天早起一小时, ...
- Docker安装nginx以及负载均衡
首先在linux系统中新建一个data文件夹进行nginx容器的创建--即为:mkdir data. 一:第一次 1 第一步: 使用 docker pull nginx将nginx的镜像从仓库下载下来 ...
- echart表格,动态的通过ajax从后台获取数据动态的展示数据
官网上都是介绍的echar表格的展示方法,但是都是静态数据,一开始的时候我总是纳闷,这些数据都是怎么上上去的 , 后来通过一些方法,当然这些方法也不是我自己写出来的,也是通过在网上收集了一下 ,现在才 ...
- MySQL的slave_exec_mode参数作用
主从复制中常会遇到的问题就是1062主键重复 如果在读写分离的架构中,slave同步失败会对业务造成很大的影响的 因此,很有必要对主从复制做些监控,做些自动化的处理.涉及到MySQL的一个参数slav ...
- luogu P2709 小B的询问 最简单的莫队
块内按右端点sort,块外按左端点sort 话说我刚开始这么修改... inline )*(c[a[i]]-),--c[a[i]];} inline )*(c[a[i]]+),++c[a[i]];} ...
- Kestrel服务器
Kestrel服务器 什么是Kestrel服务器 Kestrel是开源的(GitHub提供的源代码),事件驱动的异步I / O服务器,用于在任何平台上托管ASP.NET应用程序.这是一个监听服务器和一 ...
- 安装Jaspersoft Studio
下载位置:http://community.jaspersoft.com/project/jaspersoft-studio/releases.