C、C++数组,指针,指针数组,数组指针的区别
C、C++数组,指针,指针数组,数组指针的区别
C语言中的数组、指针、指针数组和数组指针是不同的概念,它们在用途和定义上有明显的区别。
数组 (Array):
- 数组是一种数据结构,用于存储相同数据类型的元素。它们在内存中是连续分布的。
- 数组的大小是在声明时确定的,且不能改变。
- 数组的元素可以通过索引来访问,索引从0开始。
示例:
1 |
|
一维数组
一维数组可以通过下标的方式访问(id = 房间号-1)
1 |
|
对于这个一维数组,我们可以这样理解它的存储方式(框中的数字为对应id)
二维数组
对于二维数组,我们可以理解为:数组在此的基础上多了一层
1 |
|
n维数组
同样的,你甚至可以弄出三维数组,四维数组
1 |
|
指针 (Pointer):
- 指针是一个变量,用于存储其他变量的内存地址。
- 指针的类型必须与它指向的变量类型相匹配。
- 通过指针,可以直接访问和修改变量的值。
示例:
1 |
|
指针数组 (Array of Pointers):
- 指针数组是一个数组,其元素都是指针。
- 每个指针可以指向不同的数据类型。
- 通常用于存储指向不同数据类型的数据或字符串的数组。
示例:
1 |
|
数组指针 (Pointer to Array):
- 数组指针是一个指针,它指向数组的首地址。
- 通常用于处理二维数组或多维数组。
- 数组指针的类型必须与它指向的数组类型相匹配。
示例:
1 |
|
总结:
- 数组是一组相同类型的数据元素。
- 指针是用于存储内存地址的变量。
- 指针数组是指向不同数据类型的指针的数组。
- 数组指针是指向数组的指针,通常用于处理多维数组。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 洛屿的小站!
评论