C++之指针和数组

用指针访问数组元素

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

定义指向数组元素的指针

定义与赋值
例:

int a[10], *pa;
pa=&a[0]; 或 pa=a;

经过上述定义及赋值: *pa 就是a[0]*(pa+1) 就是 a[1],… ,*(pa+i)就是a[i].
a[i], *(pa+i), *(a+i), pa[i]都是等效的。


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

  • 使用数组名和下标
  • 使用数组名和指针运算
  • 使用指针变量

1.使用数组名和下标访问数组元素

#include <iostream>
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;
}

2.使用数组名和指针运算访问数组元素

#include <iostream>
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;
}

3.使用指针变量访问数组元素

#include <iostream>
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;
}
发布了263 篇原创文章 · 获赞 28 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43283397/article/details/104451565