`

C++指针运算与地址运算的区别

 
阅读更多
/*
	指针运算实际上是地址运算,但是指针运算又不同于地址运算
	指针加1实际上所加的地址值不一定是1,而是该指针的类型所占内存的字节数
	int型指针加1在32位机上,地址值被加4。
	不同类型的指针加1时,地址值被加的字节数是不同的。
*/
#include <iostream.h>
void main(){
	int i,*pi1=&i,*pi2;
	double d,*pd1=&d,*pd2;
	pi2=pi1+1;
	pd2=pd1+1;
	cout<<pi2-pi1<<','<<pd2-pd1<<endl;
	//地址运算时要在指针名前面加上(int),表示强制成int型意思。
	cout<<(int)pi2-(int)pi1<<','<<(int)pd2-(int)pd1<<endl;
}
分享到:
评论

相关推荐

    c_c++指针详解 指针详解

    C/C++指针是编程语言中的一种基本数据类型,它们可以指向内存中的地址,可以存储变量的值,也可以存储函数的地址。指针的使用可以提高程序的效率和灵活性,但是也增加了程序的复杂度和出错的可能性。 ...

    C和C++指针讲义

    ### C和C++指针详解 #### 指针的概念 指针是一种特殊的数据类型,在C和C++语言中有着非常重要的地位。它主要用于存储内存地址,并通过该地址访问内存中的数据。理解指针需要从四个方面入手:指针的类型、指针所...

    C++指针资料 集合!!

    总的来说,这份"C++指针资料集合"可能会包含这些主题的详细讲解,包括但不限于指针的声明、初始化、解引用、传递参数、动态内存管理、多级指针、指针与数组的关系、引用、指针运算以及智能指针等内容。通过深入学习...

    C++指针用ppt详解

    但要注意,`*p++`和`*++p`这样的表达式与`(*p)++`和`++(*p)`是有区别的,它们的运算顺序和效果不同。 指针还可以用于比较,如`p 或`p == q`,这可以判断两个指针之间的相对位置。通过指针相减,如`q - p`,可以得到...

    C++指针及句柄

    ### C++指针及句柄详解 #### 一、引言 在计算机编程领域,特别是对于像C++这样的强类型语言来说,理解指针是非常重要的。指针是一种特殊的数据类型,它存储的是其他数据的内存地址。掌握指针的使用不仅能够帮助...

    c++数组指针ppt

    指针的地址运算是指针的基本操作之一,它可以实现指针的加减运算,比较运算等。例如,int a[10]; int *pa = a; pa = pa + 2;这里,pa的值将增加2个单位,指向数组a的第三个元素。 六、指针与字符串 指针和字符串...

    c++指针面试题经典

    "C++指针面试题经典"这个资源,很可能是针对C++开发者,特别是初级到中级水平的程序员设计的面试题集合,旨在测试和提升他们在指针方面的理解与应用能力。金山公司的面试题历来以深度和实用性著称,这些题目和解答...

    C++指针详细解析——史上最精彩指针文章

    标题和描述均提到了"C++指针详细解析",这表明文章主要聚焦于C++语言中的指针概念及其应用。以下是对标题、描述以及部分文本中提到的关键知识点的深入解析: ### C++指针概念 指针是C++中一个核心且强大的特性,它...

    C++矩阵运算类库(很实用).zip_C++_C++ 矩阵运算_C++类矩阵运算_c++矩阵运算_矩阵库 c++

    在C++编程中,矩阵运算是一项重要的任务,特别是在科学计算、图像处理和机器学习等领域。本资料提供的“C++矩阵运算类库”旨在简化这一过程,通过封装矩阵操作,为开发者提供一个高效且易于使用的工具。下面将详细...

    C++指针经典应用

    ### C++指针经典应用详解 #### 指针与数组的隐式转换 在C++中,指针与数组之间存在一种特殊的关联性。数组名实际上可以被视为指向该数组第一个元素的指针。这一点在代码片段中得到了体现: ```cpp char str[] = ...

    最经典C++指针专题

    2. **取地址运算符 `&` 与指针运算符 `*`**: - `&` 是取地址运算符,它用于获取变量的内存地址。例如,`&i` 返回变量 `i` 的地址。 - `*` 是指针运算符,也称为解引用运算符,它用于从地址中获取数据。例如,`*i_...

    C++指针的透彻分析

    ### C++指针的透彻分析 #### 指针的基本概念 指针是一种特殊的数据类型,用于存储内存地址。理解指针的概念对于掌握C++编程至关重要,因为指针不仅能够帮助程序员更高效地管理内存资源,还能实现更加灵活的数据...

    C++指针运指针与函数、数组

    ### C++指针运算与函数、数组 #### 学习目标 本章节旨在帮助学习者掌握C++中指针的基本运算及其与函数、数组之间的交互使用。具体目标包括: 1. **掌握指针的赋值运算和算术运算**:这涉及到如何正确地将地址赋予...

    C++指针详解

    本文将深入探讨C++指针的各个方面,包括其定义、类型、运算符、动态内存管理以及在实际编程中的应用。 首先,指针是一个变量,它存储的是另一个变量的地址,而非其值。在C++中,我们使用星号(*)来声明一个指针。...

    C C++ 指针 面试题 笔试题

    10. **面试题与笔试题实战**:通过CC++程序设计员.doc、c_c++指针详解.doc、C面试题.doc等文档,可以深入练习和理解上述知识点,提升在实际面试和笔试中的表现。 总的来说,这个资料包提供了全面的C/C++指针相关的...

    c_c++指针经验总结

    5. **指针运算** 指针可以进行加减运算,增加或减少特定数量的字节,移动到数组的下一个或上一个元素: ```c++ int arr[5] = {1, 2, 3, 4, 5}; int *p = arr; p++; // p现在指向arr的第二个元素 ``` 6. **...

    c++指针与递归的详细剖析

    4. **指针运算**:指针可以进行加减运算,例如`p++`会使得`p`指向下一个内存位置。 接下来,我们转向“递归”。递归是一种函数调用自身的技术,通常用于解决分治策略和自相似问题。理解递归的关键在于掌握以下几个...

    C++ 指针 最好例子

    本文将通过五个实例深入理解C++指针的使用。 实验一介绍了指针的基本概念,如何创建指向普通变量的指针并进行赋值。在C++中,可以使用`int *p1`声明一个指向整型变量的指针,`&k`获取变量k的地址并赋值给`p1`。`*p1...

    c++课件 第5章指针

    指针运算包括指针的赋值和解引用。指针赋值允许一个已初始化的指针赋值给另一个同类型的指针。解引用(*)运算符用于访问指针所指向的内存单元的值。在C++中,*运算符还具有其他含义,如乘法、函数调用等,需要注意上...

    c++指针的分类及用法

    通过循环和指针运算,可以方便地打印出二维数组的所有元素。 另一段代码展示了如何使用指针数组来存储多个一维数组的地址。`int *a[2]={b1,b2};`创建了一个包含两个元素的指针数组,分别指向`b1`和`b2`。`int *(*p)...

Global site tag (gtag.js) - Google Analytics