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

备案 个人网站sem和seo

备案 个人网站,sem和seo,qq刷赞网站怎么做,网站系统发生错误目录 一、指针的运算 1、指针与整数相加减 2、指针-指针&#xff08;地址-地址&#xff09; 3、指针的关系运算 六、指针和数组 七、二级指针 八、指针数组 一、指针的运算 1、指针与整数相加减 看一下下面的代码&#xff1a; #include<stdio.h> int my_strlen(c…

目录

一、指针的运算

1、指针与整数相加减

2、指针-指针(地址-地址)

3、指针的关系运算

六、指针和数组

七、二级指针

八、指针数组


一、指针的运算

1、指针与整数相加减

看一下下面的代码:


#include<stdio.h>
int my_strlen(char* str)
{int count=0;while(*str!='\0'){count++;str++;//指针加减整数}return count;
}
int main()
{int len=my_strlen("abcdef");printf("%d\n",len);return 0;
}

指针加减整数的时候就要看看这个指针式什么类型的指针,就决定着该指针所跨过的字节数,比如上免得代码,str为char*类型的指针,当运行一次str++时,就会往后走一个字节,str就指向了下一个字符。所以指针与整数相加减就是将指针在“字节”上运动,跨的步子大小就是指针类型所决定啦。

2、指针-指针(地址-地址)

(1)、条件

  • 指针都是指向同一块区间的

  • 指针的类型是一致的

总结一下:指针减指针是指针之间元素的个数


//strlen的模拟实现
#include<stdio.h>
int my_strlen(char* str)
{char* start=str;while(*str!='\0'){str++;//指针加减整数}return str-start;//这里经过两个指针相减,可以得到两个指针所指地址之间的元素个数
}
int main()
{int len=my_strlen("abcdef");printf("%d\n",len);return 0;
}

3、指针的关系运算

下面是一个for循环遍历values数组的一个例子


//方法一
for(vp = &values[N_VALUES]; vp > &values[0];)
{*--vp = 0;
}
//改进版本
for(vp = &values[N_VALUES-1]; vp >= &values[0];vp--)
{*vp = 0;
}

实际在绝大部分的编译器上是可以顺利完成任务的,然而我们还是应该避免这样写,因为标准并不保证

它可行。

标准规定:

允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与

指向第一个元素之前的那个内存位置的指针进行比较。

六、指针和数组

这里不得不提一下数组名这么一个东西,他呢不只是单单一个名字这么简单,他其实是首元素的地址,换句话说,一个指针如果指向数组首元素,那么几乎可以说这个指针喝这个数组名是等价的。注意,这里说的是几乎,因为数组名在下面两个情况是不能用首地址这么简单的来理解

1. sizeof(数组名),计算整个数组的大小,sizeof内部单独放一个数组名,数组名表示整个数
组。
2. &数组名,取出的是数组的地址。&数组名,数组名表示整个数组。

除去上面两种情况,既然可以把数组名当成地址存放到一个指针中,我们使用指针来访问一个就成为可能。

例子:


#include <stdio.h>
int main()
{int arr[] = {1,2,3,4,5,6,7,8,9,0};int *p = arr; //指针存放数组首元素的地址int sz = sizeof(arr)/sizeof(arr[0]);for(i=0; i<sz; i++){printf("&arr[%d] = %p  <====> p+%d = %p\n", i, &arr[i], i, p+i);}return 0;
}

所以 p+i 其实计算的是数组 arr 下标为i的地址。

七、二级指针

二级指针是指向一级指针,一级指针的值是变量的地址,二级指针的值是一级指针的地址


#include<stdio.h>
int main()
{int a=10;//a在内存空间申请4个字节//一级指针int* pa=&a;//0x0012ff40,pa是指针变量,用来存放a地址,也得向内存申请4/8字节//二级指针int** ppa=&pa;//0x0012ff48,ppa是指针变量,用来存放pa地址,也得向内存申请4/8字节return 0;
}

八、指针数组

指针数组是存放指针的数组


#include<stdio.h>
int main()
{int a=1;int b=2;int c=3;int* arr[]={&a,&b,&c};//arr就是指针数组,分别a,b,c的地址给arr[0],arr[1],arr[2]for(int i=0;i<3;i++){printf("%d ",*arr[i]);}return 0;
}

用指针数组模拟二维数组


#include<stdio.h>
int main()
{int a[]={1,2,3};int b[]={3,4,5};int c[]={5,6,7};int* arr[]={a,b,c};for(int i=0;i<3;i++){for(int j=0;j<3;j++){printf("%d",arr[i][j]);//模拟二维数组,和二位数组还是有差距//printf("%d",*(*(arr+i)+j));}printf("\n");}return 0;
}

今天的分享就到这啦😉 

如果我的文章对您有帮助,

请 “点赞” “收藏” “关注” 一键三连哦!

想了解更多知识请前往重生之我在VS写bug

如果以上内容有什么问题,欢迎留言,大家一起学习,共同进步。

http://www.ritt.cn/news/25560.html

相关文章:

  • 哪里有app项目开发汤阴县seo快速排名有哪家好
  • 前端网站开发框架网络营销的职能有哪些
  • 搭建vpn访问国外网站seo快速优化
  • jsp网站开发 英文河南省最新通知
  • 福州网站建设哪家好网站外链购买平台
  • 营销网站建设案例宁波seo在线优化方案公司
  • 新疆模板网站建设整站优化服务
  • 我的世界大盒子怎么做视频网站郑州百度公司地址
  • 用什么做网站比较好温州高端网站建设
  • 网站的首页怎么做郑州粒米seo外包
  • 南宁网站推广经理企业培训课程名称大全
  • 门户网站官网有哪些短视频培训机构排名
  • 手机网站自动适配成都私人网站制作
  • 石家庄网站定制制作搜狗链接提交入口
  • 新疆交通建设行业协会网站长沙线上引流公司
  • 初学者学做网站怎么学百度24小时人工客服电话
  • 国外b2b网站域名百度基木鱼建站
  • 建设营销型网站的优势app推广软件有哪些
  • 树莓派做的网站百度后台登录
  • 网站用户注册页面怎么做seo数据分析
  • 可以在几个 网站备案每日军事新闻
  • 网站建设设计设计公司哪家好seo推广方案怎么做
  • 中国砖瓦招聘求职平台百度seo排名优化是什么
  • 做网站徐州seo是干嘛的
  • 企业营销型网站建设价格最新提升关键词排名软件
  • 网站建设中手机版网络营销seo是什么意思
  • 北京营销型网站建设哪家好站长
  • 晋中路桥建设集团网站广东省新闻
  • 网站logo怎么替换seo建站要求
  • 网站建设设计 飞沐网站目录