| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> <<<关于C++中指针的基本知识>>> -> 正文阅读 |
|
[数据结构与算法]<<<关于C++中指针的基本知识>>> |
这篇不和<<<零基础c++速成>>>衔接, 主要是针对指针单独分析 目录 1. 指针1.1 指针的概念指针是一种特殊的变量,指针就是用来存放地址的,即指向内存中的某个单元的地址值。 定义规则如下 <类型标识符> * 指针变量名 例如
这里说明一点,char型的指针一般不用于指向char型变量, 而是用于指向char型数组,即字符串中。 1.2 指针的操作1.2.1 &变量名“&”为取地址运算符,根据前面的定义,指针就是用来存放地址的, 则&就是用来获取变量的地址的。比如说
1.2.2 *(指针变量)*也叫指向运算符,*与指针变量组合, 用来获取指针变量指向的那个地方的值,即p保存的地址处的值。 取地址运算符和指向运算符优先级高于所有二元运算符。
1.3 指针的运算1.3.1 指针的赋值运算就提醒大家一点,指针所赋的值必须是同类型的变量地址 比如说int型变量的地址只能赋值给int型指针,切不可乱搭。 比如说
1.3.2 指针的算数运算对于指针的算数运算,只能进行加, 减,和两个指针相减三种运算, 而且两个指针变量的相减也只能运用在同类型的指针之间。 那么指针的加减又是什么呢? 毫无疑问,根据指针的定义,指针是用来存放地址的, 所以指针的相加减,实际上就是地址上的加减。
不理解没关系,只需要记住,指针加一就是指向该元素的下一个元素 加2指向下下个元素即可,就是这么简单。 1.4 指针与数组1.4.1 指针与数组的关系数组在内存空间中实际上是一个连续的空间,存储着同一类型的数据 如果你知道了数组的第一个数字的地址,那么指针就可以帮你把数组里全部的元素拿出来, 只需要简单的++,就可以 比如说
有了数组的首地址,那么根据前面讲的指针的加减,我们是不是就可以把数组中的数都拿出来了
其实,我们所知道的数组,本身就是一个指针 a[3]={1,2,3},a就是指针,他就指向这组连续空间的首地址 所以: p = &a[0]? 等价于 p = a 当你们要取出数组中某个地方的值的时候 是不是需要语句v = a[1]这样取出第二个元素的值啊 如果是指针就像上面的例子 ,就是*(p+1) 综合上面的,其实指针和数组是等价的,根据上面的例子 语句: v = a[1]? 等价于 v = *(p+1) 大家记得这两个等价式,还有牢记指针的本质啊 1.4.2 使用指针访问数组就如我上面讲的,其实数组名就是一个指向数组元素首地址的指针
有 a[i]?等价于 * ( a+i) 只要知道指针的首地址,就能把数组中的任意数都访问出来 先上例题
再来举个例子,我们用顺序排序
指针最关键的就是,记住,指针是存放变量地址的 指针? ? ? 存放? ? ?地址!!! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 14:43:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |