指针数组和数组指针的内存布局
来源:互联网 发布:python expect eof 编辑:程序博客网 时间:2024/05/10 21:29
初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。
数组指针:首先它是一个指针,它指向一个数组。在 32 位系统下永远是占 4 个字节,
至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。
下面到底哪个是数组指针,哪个是指针数组呢:
A),int *p1[10];
B),int (*p2)[10];
这里需要明白一个符号之间的优先级问题。“[]”的优先级比“*”要高。p1 先与“[]”结合,构成一个数组的定义,数组名为 p1,int *修饰的是数组的内容,即数组的每个元素。那现在我们清楚,这是一个数组,其包含 10 个指向 int 类型数据的指针,即指针数组。至于 p2 就更好理解了,在这里“ ”的优先级比()“[]”高,“*”号和 p2 构成一个指针的定义,指针变量名为 p2,int 修饰的是数组的内容,即数组的每个元素。数组在这里并没有名字,是个匿名数组。那现在我们清楚 p2 是一个指针,它指向一个包含 10 个 int 类型数据的数组,即数组指针。
数组指针:首先它是一个指针,它指向一个数组。在 32 位系统下永远是占 4 个字节,
至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。
下面到底哪个是数组指针,哪个是指针数组呢:
A),int *p1[10];
B),int (*p2)[10];
这里需要明白一个符号之间的优先级问题。“[]”的优先级比“*”要高。p1 先与“[]”结合,构成一个数组的定义,数组名为 p1,int *修饰的是数组的内容,即数组的每个元素。那现在我们清楚,这是一个数组,其包含 10 个指向 int 类型数据的指针,即指针数组。至于 p2 就更好理解了,在这里“ ”的优先级比()“[]”高,“*”号和 p2 构成一个指针的定义,指针变量名为 p2,int 修饰的是数组的内容,即数组的每个元素。数组在这里并没有名字,是个匿名数组。那现在我们清楚 p2 是一个指针,它指向一个包含 10 个 int 类型数据的数组,即数组指针。
- 指针数组和数组指针的内存布局
- C指针数组和数组指针的内存布局
- 指针数组和数组指针的内存布局
- 指针数组和数组指针的内存布局
- 指针和数组(分节1-指针的内存布局)
- 指针和数组(第二节 数组的内存布局 )
- 数组指针、指针数组、地址的强制转换内存布局
- 数组指针、指针数组、地址的强制转换内存布局
- 数组指针、指针数组、地址的强制转换内存布局
- 数组指针的内存布局及实例
- 数组、指针、函数、函数指针的内存布局
- 二维数组、数组指针、指针数组和指针的指针分析(另数组的内存分配方式)
- 数组内存申请和释放,指针数组和数组指针
- 数组指针、 指针数组、函数指针、函数指针数组和指向函数指针数组的指针
- 简述指针数组 数组指针 函数指针 函数指针数组和函数指针数组的指针
- 数组指针和指针数组以及指针的指针
- 指针和堆的内存分配&指针数组和数组指针(转)
- C内存、数组和指针
- 寄存器变量
- 两个不同类相互引用头文件
- delphi 透明控件小结
- Android adb的常用命令略解
- IIS报“Service Unavailable”搞了N久都没搞定。。。
- 指针数组和数组指针的内存布局
- 零基础小白JAVA学习笔记(十)
- 计算机相关书籍推荐(转载)
- 设计一个只能在堆上或栈上实例化的类
- 那些年,mac pro升级lion的那些事
- Android OpenGL ES 教程 第二章 -- 建立多边形
- iOS开发1:动态添加按钮
- [C++学习] C++ Primer 第4版 习题4.28 C++动态数组
- 深入理解Java的迭代器Iterator