`
cheng330301560
  • 浏览: 177813 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

指针中*和++的优先关系

 
阅读更多

在开发当中有很多时候我们都会发现指针*和++结合在一起使用,那这里我就列举出如何几种常现的用法

int *cp;

 

*++cp  先执行++指针指向下一个地址再执行*得到该地址的值

 

*cp++  在这里实际上后缀这个++操作符产生cp的一份拷贝,然后++操作符增加cp的值,使得cp指向下一个内存地址,但在最后要注意是在cp的拷贝上执行间接访问操作的,既我们取出的值还是原来cp没有指向下一个地址之前的值,

 

++*cp  先取cp所指向内存地址中的值,然后执行++,使得该内存地址中的值加1,这个结果中的值是cp所指向内存地址增值后的值,注意是值增加1,而不是内存指向下一个地址

 

(*cp)++  这个表达式的计算过程和上面的++*cp相似,但是它的结果值是cp内存中的值在增值之前原先的值

分享到:
评论

相关推荐

    C++中二维数组与指针关系的剖析

    在C++编程语言中,指针的使用对于高效地管理和操作内存至关重要。特别是在处理复杂的结构化数据时,如二维数组,掌握指针的应用技巧变得尤为重要。本文将深入探讨C++中二维数组与指针之间的关系,并通过具体的例子...

    C++中二维数组与指针关系的剖析.pdf

    在C++编程语言中,二维数组与指针的关系一直是学习和教学中的关键概念,同时也是容易引发混淆的领域。本文将基于《C++中二维数组与指针关系的剖析》一文的核心观点,深入探讨二维数组与指针之间的内在联系及其在实际...

    一个用C++实现的B+tree程序源代码.zip

    5. **遍历和搜索**:实现深度优先或广度优先的遍历算法,以及基于键的查找算法。C++的递归和迭代器可以用于实现这些功能。 6. **错误处理**:考虑到可能出现的异常情况,如内存不足、无效输入等,需要编写适当的...

    数据结构期末试题31

    1. 数据结构中的三种基本关系包括一对一、一对多和多对多。一对一关系对应的逻辑结构是**一对一关联**,例如数据库中的主键外键关系;一对多的关系对应的是**树形结构**,如父节点与多个子节点;多对多的关系对应的...

    指针和数组及算法工具.zip

    3. **图算法**:如深度优先搜索(DFS)、广度优先搜索(BFS),用于处理节点间的连接关系。 数组和指针在实现算法时有密切关联。指针可以作为函数参数,传递数组的地址,使得函数能够操作整个数组。例如,在排序...

    (1912制作)诺西笔试题面试题

    - **V 模型**:是一种传统的软件开发模型,它强调测试阶段与开发阶段的一一对应关系,每一阶段的输出作为下一阶段的输入。优点在于清晰地划分了开发和测试阶段,有助于提高产品质量;缺点在于缺乏灵活性,对于需求...

    数组与指针 ppt 课件,适合初学者

    在C++编程中,数组和指针是两个非常基础且紧密相连的概念。数组是一系列同类型的元素在内存中连续存储的数据结构,而指针则是一个变量,它存储了内存地址,可以用来间接访问和操作数组中的元素。 **数组的特性** 1....

    C语言中数组与指针的使用技巧

    本文将详细介绍数组的存储方式与地址,并深入分析指针与数组之间的关系,探讨指向数组的指针的应用,以及二维数组中行指针与列指针的概念及其区别。最后,将总结使用行指针和列指针的技巧,并讨论指针的有效使用方法...

    C程序设计课件

    它的简洁性、效率和灵活性使得它在IT行业中占据着重要的地位。以下是对C程序设计的一些关键知识点的详细解释: 1. **第一章:C语言概述** - **历史**:C语言由Dennis Ritchie在1972年于贝尔实验室创造,为UNIX操作...

    利用堆实现的优先队列

    3. **广泛应用前景**:由于堆实现的优先队列在时间和空间上的优异表现,它可以在各种计算机排队算法中得到推广和应用,比如在网络路由、资源分配等领域。 #### 堆实现优先队列的关键技术 - **插入操作**:当向优先...

    2012年1月自考数据结构试题真题1

    线性结构中每个节点只有一个前驱和一个后继。 - D. **层次结构**:此选项通常用来描述特定类型的树结构,但不如“树状结构”准确。 **2. 某线性表中最常用的操作是在最后一个元素之后插入元素和删除第一个元素,则...

    C 程序设计课件:第五章 数组与指针.ppt

    - **多维数组与多级指针的关系**: - 多维数组可以通过多级指针来访问。 - 示例:`int **matrix; matrix = new int*[3]; for (int i = 0; i ; i++) matrix[i] = new int[4];`。 以上内容覆盖了 C 程序设计中关于...

    关于C语言的指针部分全部内容总结

    2.2 指针增量和数组的关系: 指针增量可以用来遍历数组,例如: ```c int a[5] = {1, 2, 3, 4, 5}; int *p; p = a; for (int i = 0; i ; i++) { printf("数组元素:%d\n", *(p + i)); } ``` 2.3 通过指针引用数组...

    C++引用&和指针在作为形参时的区别

    在C++中,引用(reference)和指针都是用来间接访问其他对象的工具,但它们在使用和行为上有显著的差异。引用的概念是C++特有的,而指针在C和C++中都存在。理解这两种机制的区别对于编写高质量的C++代码至关重要。 ...

    The_C_Programming_Language

    - **传递指针给函数**:可以在函数中修改原始数据。 #### 5.3 指针与数组 - **数组名作为指针**:数组名实际上是指向数组第一个元素的指针。 #### 5.4 地址运算 - **指针算术**:指针可以进行加减运算。 #### 5.5...

    再再论指针,指针的深入分析

    两者之间的关系类似于变量与其值的关系,但具体到指针时,其值是指向另一个变量或数据结构的地址。 **数组名**则代表数组的起始位置,即数组第一个元素的地址。但数组名本身不是一个指针,而是表示数组本身的标识符...

    数据结构公式汇总 共35知识点

    20. 顶点数 n、边数 e 和度数 D(vi)关系边数 e=1/2(所有顶点入度+出度)之和 21. 稀疏图用邻接表,稠密图用邻接矩阵。无向图:邻接表表示中有 n 个顶点和 2e 个边表结点,有向图,有 n 个顶点和 e 个边表结点。空间...

    设计一个程序,演示用算符优先法对算术表达式求值的过程

    1. **算符优先关系**:在算术表达式中,不同类型的运算符具有不同的优先级。例如,乘法和除法的优先级高于加法和减法。此外,括号可用于改变默认的运算顺序。 2. **栈的运用**:算符优先法的核心在于使用两个栈:...

    408malloc-指针变量(偏移与传递)-堆和栈的差异

    综上所述,指针是 C 语言中一个非常强大的工具,能够帮助我们更加高效地管理和操作内存。通过合理使用指针,我们可以实现复杂的数据结构和算法,同时优化程序性能。理解栈空间和堆空间的区别有助于我们更好地设计和...

Global site tag (gtag.js) - Google Analytics