`
saybody
  • 浏览: 907837 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

指针部分释疑之一:指针的实质(续)

阅读更多

2.指针的算术运算

指针变量也可以进行算术运算,但只能进行加上或减去一个整数操作。不过,这种加减运算和我们学习算术运算符的加减操作还是有很大区别的。

int a[10];

int *p =a;

p++;

上例中,在上例中,指针p的类型是int *,它指向的类型是int,它被初始化为指向整型数组名a。接下来的第3句中,指针p被加了1,编译器是这样处理的:它把指针p的值加上了sizeof(int),在VC程序中,是被加上了4。由于地址是用字节做单位的,故p所指向的地址由原来的数组a的首地址向高地址方向增加了4个字节。即原来p指向的是a[0]的地址,而现在变成了指向[1]的地址。

同理,p--就不难理解了。

分享到:
评论

相关推荐

    彻底理解指针,指针数组和数组指针,指针函数和函数指针

    1. **指针的类型**:即指针本身的类型,通常是由指针声明语句中除去指针名的部分组成。 2. **指针所指向的类型**:指针指向的数据的类型,决定了编译器如何解释该数据。 3. **指针的值**:指针中存储的地址值,指向...

    【C语言指针】深入浅出:指针与取值、数组、函数; 详细剖析:指针函数、函数指针、指针数组、数组指针、双重指针、指针与动态内存分配

    本质: 地址要用指针来存储,指针是用来存储地址的!!! 重难点: 指针指向的地址,也就是指针存储的地址!!! 就像整型数据要用整型变量来存储,整型变量是用来存储整型数据的! 地址: 地址值: ptr/&...

    C++ 智能指针辅助利器:std::make-unique与std::make-shared深度剖析

    本文聚焦于 C++ 中的std::make_unique和std::make_shared这两个重要的智能指针创建函数。首先介绍 C++ 智能指针的背景和意义,阐述传统new操作符在内存管理方面的不足以及智能指针如何解决这些问题。详细讲解std::...

    c语言:我眼中的指针(教你彻底认识指针)

    使用指针可以进行动态内存分配,这是C语言中最常用的技术之一。通过 `malloc()` 和 `calloc()` 函数可以分配内存,并通过指针指向这块内存区域。 #### 九、指针的高级用法 除了基本的应用外,指针还有许多高级用法...

    C语言课件:第十章 指针(Pointers).ppt

    C语言指针知识点总结 指针是C语言最独特和令人...* 指向指针的指针(Pointer to a Pointer):一个指针指向另一个指针。 指针是C语言中最基本和最重要的概念之一。掌握指针的使用和概念对于编程者来说是非常重要的。

    模拟MAC 系统的鼠标指针

    在计算机操作系统中,鼠标指针是用户界面的重要组成部分,它为用户提供了一种直观的方式来与屏幕上的元素进行交互。模拟MAC系统的鼠标指针意味着在非Mac系统上,如Windows或Linux,我们可以实现与Mac OS类似的鼠标...

    C++指针详解

    - **指针所指向的类型**:`int*(*)(int)`(指向接受一个整型参数并返回指向含有三个指向整型数据的指针的数组的函数的指针) #### 四、示例分析 为了更好地理解上述指针类型,我们通过具体的示例来进行进一步的...

    c和指针非扫描版-源代码-课后习题答案_C和指针_c和指针非扫描版-源代码-课后习题答案_c和指针源代码_

    《C和指针》是C语言学习的经典教材之一,由Charles R. K. Prata撰写。这本书深入浅出地介绍了C语言中的指针概念及其在编程中的应用,为读者提供了全面的理解和实践指导。这份资源包含了非扫描版的电子书、源代码以及...

    详细分析指针的运作!判断指针使用的错误,越界!引用错误!指针数据流分析。分析静态数据相关性,java实现!

    在IT行业中,指针是C/C++编程语言中的核心概念之一,它允许程序直接操作内存地址,从而提供了高效且灵活的数据处理方式。然而,指针的使用也常常伴随着潜在的问题,如指针越界、引用错误等。这篇分析将深入探讨指针...

    指针, 指针的指针, 数组, 指针数组, 数组指针, 指针函数, 函数指针 CC++中函数指针的含义

    在C和C++编程语言中,指针是一个重要的概念,它允许我们存储变量的内存地址,从而能够直接访问和修改该变量。理解不同类型的指针是掌握这两种语言的关键。让我们详细探讨一下标题和描述中提到的各个知识点: 1. **...

    指针 指针教程 指针练习

    1. 指针变量:一个用于存储内存地址的变量,我们可以通过指针访问和修改它所指向的变量的值。 2. 声明指针:使用*符号声明指针变量,如`int *p;`声明了一个指向整型变量的指针。 3. 指针初始化:通过&运算符获取变量...

    C语言指针课程PPT

    【C语言指针课程PPT】讲解了C语言中核心的指针概念,它是C语言高效编程的关键。指针允许程序直接访问内存地址,增强了代码的灵活性和性能。以下是关于指针的详细知识点: 1. **变量与内存地址**: - 当在C语言中...

    数组与指针区别(很全面)

    #### 三、数组名与指针的相似之处 1. **作为地址使用**:数组名通常被视为指向数组第一个元素的常量指针。 2. **算术操作**:可以通过在数组名或指针上进行算术运算来访问数组中的元素。 3. **传递给函数**:数组名...

    函数指针和指针函数,const的用法,指针常量,常量指针的用法

    ### 函数指针和指针函数的区分及应用 #### 函数指针的理解与使用...通过以上介绍,我们可以看出函数指针和指针函数有着本质的区别,同时正确使用 `const` 可以帮助我们更好地控制程序的行为,提高程序的安全性和效率。

    C++指针应用教学:让你不再害怕指针

    1. **指针的类型**:指针本身的类型,可以通过去除指针名称后剩余的部分来确定。 - 例如:`int *ptr;`的指针类型为`int*`。 - `int (*ptr)[3];`的指针类型为`int(*)[3]`。 2. **指针所指向的类型**:通过指针访问...

    指针

    指针是一种保存变量地址的变量,是一种基本的计算机编程概念。它允许开发者直接访问和操作计算机内存中的变量,从而提供了更高的灵活性和控制力。 概念 在计算机中,内存是由存储单元构成的,每个存储单元大小为1...

    彻底搞定C指针.pdf

    文章首先介绍了变量的内存实质,接着详细讲解了指针的基本概念及其与数组名的关系,随后探讨了`const int *pi`与`int *const pi`的区别,进一步讨论了函数参数的传递方式,并最后解释了指向另一个指针的指针以及函数...

    彻底搞定C指针-指向另一指针的指针

    彻底搞定 C 指针-指向另一指针的指针 指针是 C 语言中的一种基本数据类型,它允许开发者直接访问和操作内存中的某个地址。 pointer 的实质是内存地址,指针变量的值是某个变量的内存地址。今天我们将学习一个叫做...

Global site tag (gtag.js) - Google Analytics