C/C++指针是什么及怎么使用


这篇文章主要介绍“C/C++指针是什么及怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C/C++指针是什么及怎么使用”文章能帮助大家解决问题。C/C++语言拥有在程序运行时获得变量的地址和操作地址的能力,这种用来操作地址的特殊类型变量被称作指针。翻译翻译什么tmd叫tmd指针!变量或常量的指针存储的数据是 :对应的变量或常量在内存中的地址。图解:此时 我们定义三个指针 p1, p2, p3 分别指向a, b, c ,那么p1中存储的数据是变量a所占用内存的首地址:0x00;b和c中存储的数据是什么呢? 没错,就是0x02和0x04。显然。若要知道变量a的值,首先读取指针p1中的数据0x00,然后读取内存0x00和0x01中的数据就可以了。这个时候,会出现一个问题:怎么才能确定究竟要读取几个单位内存中的数据呢?毕竟p1中只存储了0x00呀。这个时候 ,指针的类型就发挥了作用。举个例子:如果定义的指针是int类型的,那么读取的时候自动从指针中存储的初值向后读取4个字节;float类型的指针就是读取8个字节。这样就可以既完整又不多余的取出所需要的数据了。总结一下一个指针的两个要素:指针类型和指针所指变量的初地址。指针在定义的时候最好直接初始化,否则可能出现意想不到的结果。@定义一个指向变量的指针。间接引用操作符也是 **p 取出p指向的内存空间中的值。所以区分定义或是引用指针可能有些麻烦。只有同类型的指针和变量才能通过 * 和 & 互相建立关系。这个部分本来应该在定义指针变量里,但是因为需要指免费云主机域名针的间接引用作为铺垫,所以把它单独拿出来了我们先区分一组概念:常量、指向常量的指针、常指针以及指向常量的常指针。1.常量:顾名思义不发生改变的量,想必大家是熟悉的。2.指向常量的指针:只限制间接访问操作,不限制指针指向的值本身的操作规范。3.常指针:指针中存储的地址一经初始化就不能改变了,也就是说常指针只能指向一个固定的地址,但是地址中存储的数据是可以改变的哦~4.指向常量的常指针:根据上面三个概念大家应该可以理解了,就是指针中存储的地址和该地址中的数据皆不可更改。例如:指针本质上也是一个变量或常量,那么指针也是有地址的,而指向这些地址的指针被称为指向指针的指针。一个数组的数组名就是一个常指针。arr就是一个指针,而且指向数组的第一个元素arr[0]。指针数组:在此提及一下字符串常量:指针只能支持 + 和 – 的运算,但这已经足够满足大多数指针操作的需求了。注意释放数组内存空间时,delete后有[] !!!函数名和数组名一样都是一个指针,有时我们需要把函数名作为参数传入其他函数中。举个小小的例子开了个小差,接下来回归正题,我们的指针。首先来看个例子:输出结果:5 6并未达到交换的效果,因为函数内部对形参的修改并不能反映到上层的main函数中。此时我们可以通过指针作为函数的入口参数来实现预期的功能。输出结果:6 5传递函数的指针虽然能达到预期效果,但是确实以破坏函数的黑盒为代价,可读性差,调试困难。有没有什么更好的办法呢?接下来 引用登场了。输出结果:6 5strcmp() :用于比较字符串的大小。strcpy() :复制字符串。输出b的值是大于0 的。关于“C/C++指针是什么及怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: k8s查看pod日志的方法有哪些

本文小编为大家详细介绍“k8s查看pod日志的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“k8s查看pod日志的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。kubectl logs [-f] [-p] (P…

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

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/31 10:28
下一篇 03/31 10:28

相关推荐