数组指针、指针数组和二维数组

本文介绍了C++中的数组指针、指针数组和二维数组的概念。对于普通int型指针,它指向数组首地址,可以访问到数组的第一个元素及其后续元素。数组指针则指向整个数组,可以使用(*p)[1]来访问数组元素。指针数组是一种特殊的指针,每个元素都是一个指针,可以用来存放多个数组的地址。在二维数组中,可以使用**p来访问第一个元素的第一个元素,而(*p)[1][2]则访问第二个数组的第三个元素。
摘要由CSDN通过智能技术生成

注意:数组名和整个数组的地址是完全一样的,知识表示的含义不一样,并且如下,前者打印为2,+1表示加一个int型的大小,后者+1是加一个数组的大小:3*sizeof(int)

int arr[] = {1, 2, 3};
cout << *(arr + 1) << endl;
cout << *(&arr + 1)<< endl;

普通指向数组的int型指针:

int arr[] = {1, 2, 3}; 
int* p = arr; // 将指针 p 指向数组的第一个元素
cout<< p <<"  "<< *p << "  " << p[2] << "  " << "  "<< endl;
p[1] = 5; 

p:数组首地址,*p:第一个元素,p[2]:第三个元素, 不能 ( *p )[1],因为解引用就为int型了,是普通指针指向整型数据,好理解,比较类似于new出来的

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值