数组指针和指针数组
来源:互联网 发布:全29雷诺进阶双40数据 编辑:程序博客网 时间:2024/06/06 01:52
数组指针
通俗的理解,就是指向数组的指针。其本质是一个指针。
1.如: int *p;
int a[3][4];
p=a;
我们可以先声明一个指针,让他指向一个数组,则这个指针就是数组指针(该指针指向的地址可以改变)。另外,在这里,数组名本身也是一个数组指针,指向数组的首地址(而数组名指向的地址是常量,只能是数组的首地址)。
2.如: int (*p)[4];
是指声明一个指向4个int元素的数组的一个针p.
指针数组
为了自己方便记忆,我是理解成为 存储指针的数组。其本质是一个数组。
一个数组,若其元素均为指针类型数据,称为指针数组。 也就是说,指针数组中每一个元素都相当于一个指针变量,数组中每一个元素都是一个地址。
如:
int *p[4];
这里涉及到 * 与[]的优先级问题,只要我们记住[]比 * 优先级更高,就比较容易区分了。
由于[]的优先级更高,则p先与[4]结合,形成一个p[4]的数组形式,在与*结合,即表明这个数组都是指针类型的,每个数组元素都是一个指针。
总结
在我看来,关于数组指针与指针数组的区别,关键就在于 * 与[]的优先级问题上,有时会有括号(),当我们在声明是,注意观察变量名是先与 * 结合还是[]结合的。如果先与 * 结合,则说明是先声明成一个指针,再让这个指针指向一个数组,即为数组指针。如果先与[]结合,就说明是先声明一个数组,再把这个数组内的元素都声明成指针类型的,即指针数组。
0 0
- 指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- 指针数组和数组指针
- 数组指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- 数组指针和指针数组
- 指针数组和数组指针
- 指针数组和数组指针
- 数组指针和指针数组
- android 命令行的形式生成keystore,生成签名
- 7--树
- JDK1.8+maven3.33,项目编译自动拷贝xml文件
- OpenCV 常用函数(一)
- Git常用命令
- 数组指针和指针数组
- Linux 调用动态库
- 基于android的Socket通信
- RabbitMQ (五)主题(Topic)
- 有关ListView点击时item的背景色
- android下单元测试
- 质量管理
- AtomicLongFieldUpdater VSAtomicLong
- Logger级别