IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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语言---初识指针(2) -> 正文阅读

[C++知识库]C语言---初识指针(2)

? ? ? ? 通过上一篇我们对指针有了最基本的了解,知道了他就是存放一个地址的东西,但相对指针的用法,我将再次谈谈指针那些基本用法;

????????指针的运算:

指针也是可以进行 ++、-- 或者 +、- 的运算,但指针的预算仅限于此了,++、+ 代表指针向前移,--、- 代表指针向后移。所指的也是它所指的地址向前或者向后;

? ? ? ? 就好比接下来这个程序:

int a[10];
int *p;
p = &a; //p指向a数组
i = 0;
for(i;i<10;i++)
 { 
     printf("%p",p);//输出现在p所指的位置
     P ++;          //p所指的位置加一
 } 

? ? ? ? 这个程序输出的都是a数组中各项的地址;

当把一个数组的地址给到一个指针时,这个指针指的时 a【0】的地址,也就是数组第一个数的地址,因为数组的排列,在内存中给到的位置空间时连续的,所以当我们让指针所指的值加一时,就意味着指向这个数组中的接下来的地址;

????????指针的关系运算:

两个指针之间的关系,大小等等,比较的是所指的地址的关系,而地址的大小,是由ASC||码的值进行提供的;就好比:

int a,*p,*d;

*p = &a;

当在这种情况下

我们说? ?*p == *d;这就会是个假的;

*d = &a;? ? ?

*p == *d;

在这种情况下,这个就会是真的,只有当两个指针同时指向一个一个地址时,这时这两个指针才可以说是相等的。

????????指针与数组的关系:

接下来我们着重说说指针与数组之间的关系,他们之间又是怎么样使用的呢;

上面我们谈到,当指针指向一个一维数组时,它所指的地址是这个数组的第一个值的地址,当指针在进行运算+、 - 时,相对应,它所指的地址也会发生变化;

而当指针指向多维数组时,其实也和指向一维数组时差不多的,当时其中的变化时这样的

a【2】【2】;在这个数组中,我们让*p=&a;

最初的 p 是指向 a【0】【0】;

当 p++ 时,就会指向 a【0】【1】;接下来是a【0】【2】;a【1】【0】;a【1】【1】;以此类推;

对于 int a【3】【4】,*p = a【0】;

地址描述意义数组元素的描述意义
a、*a、a【0】、&a【0】【0】、pa的首地址**a、*p、*a【0】、? ? ? ? ? a【0】【0】a【0】【0】的值
*a+1、a【0】+1、&a【0】【0】+1、p+1a【0】【1】的地址*(*a+1)、*(p+1)、? ? a【0】【1】、? ? ? ? ? ? ? ? ? ? ? ? ? ?*{a【0】+1)、? ? ? ? ? ? ? ?*(&a【0】【0】+1a【0】【1】的值
a+1a【1】【0】的地址

**(a+1)、*a【1】、a【1】【0】

a【1】【0】的值
a+ia【i】【0】的地址**(a+i)、*a【i】、? ? ? ? ? ? ? a【i】【0】a【i】【0】的值
*a+ix4+j、p+ix4+j、a【0】+ix4+j、&a【0】【0】+ix4+j、&a【i】【j】a【i】【j】的地址*(*a+ix4+j)、*(p+ix4+j)、? ?*(a【0】+ix4+j)、? ? ? ? a【i】【j】、*(&a【0】【0】+ix4+j)a【i】【j】的值

?

通过这个表,我们基本可以对指针和多维数组之前的关系有了更全面的认识。

注:为了博客的清晰,我用的是【】而不是 [] ,大家可不要学我哦,要用全英文的输入法哦。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:17:43  更:2021-12-24 18:19:13 
 
开发: 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/24 14:00:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码