欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++指针2

程序员文章站 2024-01-01 17:33:16
...

指针的算术运算、关系运算

指针类型的算术运算

  • 指针与整数的加减运算

  • 指针++,--运算

指针类型的算术运算

  • 指针p加上或减去n

    • 其意义是指针当前指向位置的前方或后方第n个数据的起始位置。

  • 指针的++、--运算

    • 意义是指向下一个或前一个完整数据的起始。

  • 运算的结果值取决于指针指向的数据类型,总是指向一个完整数据的起始位置。

  • 当指针指向连续存储的同类型数据时,指针与整数的加减运和自增自减算才有意义。

指针与整数相加的意义

C++指针2

指针类型的关系运算

  • 指向相同类型数据的指针之间可以进行各种关系运算。

  • 指向不同数据类型的指针,以及指针与一般整数变量之间的关系运算是无意义的。

  • 指针可以和零之间进行等于或不等于的关系运算。

例如:p==0或p!=0 

用指针访问数组元素

数组是一组连续存储的同类型数据,可以通过指针的算术运算,使指针依次指向数组的各个元素,进而可以遍历数组。

定义指向数组元素的指针

  •  定义与赋值

 例:int a[10], *pa;

      pa=&a[0]; 或 pa=a;
  • 等效的形式

  1. 经过上述定义及赋值后

*pa就是a[0],*(pa+1)就是a[1],... ,*(pa+i)就是a[i].
a[i], *(pa+i), *(a+i), pa[i]都是等效的。
  • 注意

  1. 不能写 a++,因为a是数组首地址、是常量。

例6-7

设有一个int型数组a,有10个元素。用三种方法输出各元素:

  • 使用数组名和下标

  • 使用数组名和指针运算

  • 使用指针变量

例6-7 (1) 使用数组名和下标访问数组元素

#include 
using namespace std;
int main() {
	int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
	for (int i = 0; i < 10; i++)
		cout << a[i] << "  ";
	cout << endl;
	return 0;
}

例6-7 (2) 使用数组名和指针运算访问数组元素

#include 
using namespace std;
int main() {
	int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
	for (int i = 0; i < 10; i++)
		cout << *(a+i) << "  ";
	cout << endl;
	return 0;
}

例6-7 (3) 使用指针变量访问数组元素

#include 
using namespace std;
int main() {
	int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
	for (int *p = a; p < (a + 10); p++)
		cout << *p << "  ";
	cout << endl;
	return 0;
}

指针数组

C++指针2

C++指针2

C++指针2

 

相关标签: C++

上一篇:

下一篇: