数组和指针的区别
在编程中,数组和指针关系密切,但两者之间存在一些区别。阅读本文以了解数组与指针的不同之处。但首先让我们讨论一些数组和指针的基础知识。
什么是数组?
数组用于存储同质数据类型的值。它指的是由同质/相同数据类型元素组成的集合。数组被认为是原始数据类型。它们使用“[ ]”声明,并存储在连续的内存位置中。此外,数组使用下标/“[ ]”(方括号)来访问元素。数组对象无法实例化。
数组的大小根据数组中元素的数量固定。数组大小基本上是元素数量乘以元素大小。另一个要点是数组中不允许使用位字段。在数组中,遍历和搜索元素既快速又容易。
语法
以下是声明数组的语法:
type var_name[size];
什么是指针?
指针用于存储变量的地址。一个指针一次只能存储一个变量的地址。我们可以生成指向数组的指针。
与数组不同,指针可以在定义时初始化为任何值。此外,它们可以在声明后随时初始化。指针也可以赋值为NULL值。
指针使用“*”运算符解引用。它只能更改为指向同一类型的不同变量。
语法
以下是C语言中声明指针的语法:
datatype *variable_name;
数组和指针的区别
下表重点突出了数组和指针之间的重要区别:
序号 |
数组 |
指针 |
---|---|---|
1. |
它存储同质数据类型的值。 |
它存储变量的地址。 |
2. |
数组定义为相似数据类型的集合。 |
指针是一个存储另一个变量地址的变量。 |
3. |
可以存储的变量数量由数组的大小决定。 |
指针只能存储单个变量的地址。 |
4. |
数组的初始化可以在定义时完成。 |
指针不能在定义时初始化。 |
5. |
数组的性质是静态的。 |
指针的性质是动态的。 |
6. |
数组不能根据用户的需求调整大小。 |
指针可以在任何时候调整大小。 |
7. |
数组的分配在编译时完成。 |
指针的分配在运行时完成。 |
结论
您应该注意的最重要的区别是,数组用于存储同质数据类型的值,而指针用于存储变量的地址。
广告