C++ 指向数组的指针
C++指向数组的指针
如果你之前已经较为系统地学习过C语言,那么可以跳过本章的阅读,不过重读一遍温故而知新也不错的。如果之前没有学习过C语言,那么在了解C++指向数组的指针之前,可以先了解一个概念,即什么是指针。就目前阶段,可以大概了解一下,即指针就是指向变量或对象的内存地址的一种特殊的变量,而内存地址上则存储着变量或对象的值。那么C++中的数组和指针有什么关系呢?
C++数组和指针的关系
C++或C语言中,数组类型的变量实际上是一个指针,一个指向数组第一个元素内存地址的指针。具体可参考下方的实例。
寻址符号
&
C++或C语言,都可以使用“&”寻址符号来引用变量的内存地址。
数组和指针实例代码
如下实例,定义了一个C++的数组,并通过寻址符号&来获取第一个数组元素的内存地址,并直接使用数组变量(实际上是一个指针)来输出其内存地址,可对二者进行比较,可以发现,二者输出的值是一样的。
#include <iostream>
using namespace std;
int main(){
int array[3] = {1,2,3};
cout << &array[0] << std::endl;
cout << array << std::endl;
return 0;
}
代码编译运行(不同的操作系统平台和编译器可能得到不同的输出):
0x61fe14
0x61fe14
指针访问C++数组元素的语法
*(arr+n);n为索引值,这相当于arr[n]
指针访问C++数组元素实例代码
#include <iostream>
using namespace std;
int main(){
int arr[3] = {5,6,7};
cout << *(arr + 0) << std::endl;
cout << *(arr+ 1) << std::endl;
return 0;
}
代码编译运行:
5
6
免责声明:内容仅供参考,不保证正确性。