当前位置: 首页 > wzjs >正文

高端企业门户网站建设费用东莞疫情最新情况

高端企业门户网站建设费用,东莞疫情最新情况,企查查企业信息查询在线,资源采集网站如何做目录 指针常用运算 定义: 指针与整数值的加减运算 格式: 举例: 说明: 实例 举例: 实例 指针的自增、自减运算 定义 实例1: 实例2: 指针常用运算 定义: 指针本质上就是一…

目录

指针常用运算

 定义:

指针与整数值的加减运算

格式:

举例:

说明:

实例 

举例:

实例

指针的自增、自减运算 

定义

 实例1:

实例2:


 

指针常用运算


 定义:

          指针本质上就是一个无符号整数代表了内存地址

          除了上面提到的取址、取值外,指针还可以与整数加减、自增自减、同类指针相减运算等。            但是规则并不是整数运算的规则。


指针与整数值的加减运算


格式:

        指针±整数
 
注:

  1. 指针与整数值的加减运算,表示指针所指向的内存地址的移动(加,向后移动;减,向前移动)。
  2. 指针移动的单位,与指针指向的数据类型有关。数据类型占据多少个字节,每单位就移动多少个字节。通过此操作,可以快速定位你要的地址。

举例:

int mainm(){
short m = 10;
short* s = &m;
printf("%p\n", s);//变量m的正常地址
printf("%p\n", s + 1);//变量m位置+1,位置添加2个字节
printf("%p\n", s - 1);//变量m位置-1,位置减少2个字节int n = 20;
int *i = &n;
printf("%p\n", i);
printf("%p\n", i + 1);
printf("%p\n", i - 1);
return 0 ;}

说明:

  • s + 1表示指针向内存地址的移动一个单位,而一个单位的short类型占据两个字节的宽度,所以相当于移动两个字节。

变量a、b、c、d、e都是整型数据int类型,它们在内存中占据一块连续的存储区域。指针变量p指向变量a,也就是p的值是0xFF12,则:

 
说明:

指针p+1并不是地址+1,而是指针p指向下一个数据。比如,int* p,p+1表示当前地址+4,指向下一个整型数据。

实例 

int main() {int arr[5]= {11, 22, 33, 44, 55};int* p = &arr[1];printf("p的值为%d\n",*p); //对应的值为22printf("p+1的值为%d\n", *(p + 1)); //对应的值为33printf("p-1的值为:%d\n",*(p - 1)); //对应的值为11return 0;
}

注意:只有指向连续的同类型数据区域,指针加、减整数才有实际意义。


举例:

对于长度是N的一维数组a,当使用指针p指向其首元素后,即可通过指针p访问数组的各个元素。

 
其中:

  • a[0]用*p表示
  • a[1]用*(p+1)表示
  •  a[i]用*(p+i)表示

实例

#include "stdio.h"int main() {//指针进行加减运算,与普通整数加减规则不同, +-指的是地址进行移动,每次一定指定个单位(一个单位指一个数据类型所占的字节个数)short m = 10;short* s = &m;printf(" %p\n",s);//变量m的正常地址 0000009461ff706printf(" %p\n", s + 1);//变量m位置+1,位置添加2个字节 0000009461ff708  +1指的是地址向后移动一个单位(一个单位指一个数据类型所占的字节个数)printf(" %p\n", s - 1);//变量m位置-1,位置减少2个字节 0000009461ff704int n = 20;int *i = &n;printf(" %p\n", i); //000000456edffa08printf(" %p\n", i +1);//000000456edffa0cprintf(" %p\n", i - 1);//000000456edffa04}

指针的自增、自减运算 


定义

指针类型变量也可以进行自增或自减运算,如下: 
   p++、p--、++p、--p
  
:++和--,这里针对指针的增加或减少指的是内存地址的向前或向后移动。
 
对于数组来说,由于数组在内存中是连续分布的:

  • 当对指针进行++时,指针会按照它指向的数据类型字节数大小增加,比如int*指针,每++一次,就增加4个字节。
  • 当对指针进行--时,指针会按照它指向的数据类型字节数大小减少,比如int*指针,每--一次,就减少4个字节。

 实例1:

int main() {int arr[5] = {1, 2, 3, 4, 5};int* p1 = &arr[0];int* p2 = &arr[3];printf("p1的值为:%d\n", *p1);     //1printf("++p1的值为:%d\n", *++p1); //2printf("p1的值为:%d\n", *p1);     //2printf("p2的值为:%d\n", *p2);     //4printf("--p2的值为:%d\n", *--p2); //3printf("p2的值为:%d\n", *p2);     //3return 0;
}

实例2:

请分析下面几种情况。
初始情况:

int a[5] = {10,20,30,40,50};

情况1

 int* p = a;  //p开始时指向数组a的首元素  等同于 int* p = &a[0];p++;  //使p指向下一元素a[1]printf("%d\n",*p);  //得到下一个元素a[1]的值,即20

情况2:

int* p = a;  //p开始时指向数组a的首元素
printf("%d\n",*p++); //10
printf("%d\n",*p);   //20

 

 

http://www.dtcms.com/wzjs/371155.html

相关文章:

  • 傻瓜做网站用什么软件杭州seo排名
  • 自己做的网站怎么让别人看到seo简单优化
  • 唐山论坛建站模板百度一下百度搜索首页
  • 网站框架怎么建设seo每日
  • 哪个网站做视频有钱挣百度快速排名技术培训教程
  • 政务网站集约化建设推进情况添加友情链接的技巧
  • 微官网和公众号的区别宁波网络推广seo软件
  • 如果快速做网站全网网络营销推广
  • 系统网站怎么做的seo店铺描述例子
  • 河北省工程造价信息网官网沈阳百度seo关键词优化排名
  • 杭州大型网站建设广州竞价托管公司
  • wordpress 旅行社漳州seo网站快速排名
  • 自己不会代码让别人做网站怎么管理电视剧排行榜
  • 文化公司网站建设策划书竞价托管资讯
  • 个人音乐类网站服务器租借东莞网站自动化推广
  • 山西营销型网站建设爱站网关键词长尾挖掘工具
  • 南昌做网站流程四川省人民政府
  • 外贸服饰网站建设市场营销四大基本策略
  • 制作网站的软件主要有在线代理浏览网站免费
  • 商城网站建设招聘温州seo优化
  • 修改网站j广州网络公司厦门百度关键词优化
  • 京津冀协同发展交通一体化规划seo必备工具
  • 怎么修改网站上的内容石家庄关键词快速排名
  • 页游源码论坛安卓优化大师最新版下载
  • php面向对象网站开发石家庄网站建设公司
  • 动态网站制作新手教程兰州网站优化
  • 做游戏数据分析的网站深圳优化怎么做搜索
  • 江苏怎么做网站排名优化seo优化顾问
  • 北京知名的品牌设计公司廊坊网站seo
  • 果汁网站模板35个成功的市场营销策划案例