C语言指针运算实例分析


这篇文章主要介绍“C语言指针运算实例分析”,在日常操作中,相信很多人在C语言指针运算实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言指针运算实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!指针-指针指针的关系运算通过数组首尾元素的地址相减,得出的就是数组元素的个数,-int*表示指针指向的地址里面,存放的数据类型是整形,占用4个字节数组元素地址+1,就是寻找下一个元素的地址,就会移动4个字节通过调试更加清楚的观察到这一现象,int 数组每个元素占用四个字节:&arr[0]: 0x005cf7f8&arr[0]+1: 0x005cf7fc,地址移动1位,即int*指针移动1位,字节增加4个。前提条件:两个指针必须指向同一块空间:前面的文章介绍了字符串长度的方法两种方法:循环递归这里介绍第三种方法, 指针标准规定:允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较数组名和数组首元素的地址是一样的。数组名表示的是数组首元素的地址。(2种情况除外,数组系列文章详细介绍了)既然可以把数组名当成地址存放到一个指针中,我们使用指针来访问一个就成为可能观察上图,所以 p+i 其实计算的是数组 arr 下免费云主机域名标为 i 元素的地址。那就可以直接通过指针来访问数组:指针变量也是变量,是变量就有地址,那指针变量的地址存放在哪里?这就是 二级指针a的地址存放在指针pa中,pa是一级指针pa的地址存放在ppa中,ppa是二级指针对于二级指针的运算有:*ppa 通过对ppa中的地址进行解引用,这样找到的是 pa , *ppa 其实访问的就是 pa .**ppa 先通过 *ppa 找到 pa ,然后对 pa 进行解引用操作: *pa ,那找到的是 a指针数组是指针还是数组?是数组。是存放指针的数组在数组系列文章中,已经介绍了整形数组,字符数组:指针数组:arr3是一个数组,有五个元素,每个元素是一个整形指针,就是一个地址:arr[0],为元素data1,是指针变量,本身也是一维数组 { 1,2,3,4,5 } 的数组名,代表首元素地址arr[1],为元素data2,是指针变量,本身也是一维数组 { 2,3,4,5,6 } 的数组名,代表首元素地址arr[2],为元素data3,是指针变量,本身也是一维数组 { 3,4,5,6,7 } 的数组名,代表首元素地址通过调试也能发现:指针数组首元素data,是指针变量,也是一维数组首元素的地址通过数组名 + i 就能访问数组里的元素指针数组可看成二维数组打印结果见下图:代码换成下面这个效果一样,从地址的解引用角度去写:指针数组中元素都是指针变量,就是地址到此,关于“C语言指针运算实例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: Java类加载器与双亲委派机制怎么应用

这篇文章主要讲解了“Java类加载器与双亲委派机制怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java类加载器与双亲委派机制怎么应用”吧!大家想必都有过平时开发springboot 项目的时候稍微改动…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/16 22:28
下一篇 04/16 22:28

相关推荐