数组和指针的区别


在编程中,数组指针关系密切,但两者之间存在一些区别。阅读本文以了解数组与指针的不同之处。但首先让我们讨论一些数组和指针的基础知识。

什么是数组?

数组用于存储同质数据类型的值。它指的是由同质/相同数据类型元素组成的集合。数组被认为是原始数据类型。它们使用“[ ]”声明,并存储在连续的内存位置中。此外,数组使用下标/“[ ]”(方括号)来访问元素。数组对象无法实例化。

数组的大小根据数组中元素的数量固定。数组大小基本上是元素数量乘以元素大小。另一个要点是数组中不允许使用位字段。在数组中,遍历和搜索元素既快速又容易。

语法

以下是声明数组的语法:

type var_name[size];

什么是指针?

指针用于存储变量的地址。一个指针一次只能存储一个变量的地址。我们可以生成指向数组的指针。

与数组不同,指针可以在定义时初始化为任何值。此外,它们可以在声明后随时初始化。指针也可以赋值为NULL值。

指针使用“*”运算符解引用。它只能更改为指向同一类型的不同变量。

语法

以下是C语言中声明指针的语法:

datatype *variable_name;

数组和指针的区别

下表重点突出了数组和指针之间的重要区别:

序号

数组

指针

1.

它存储同质数据类型的值。

它存储变量的地址。

2.

数组定义为相似数据类型的集合。

指针是一个存储另一个变量地址的变量。

3.

可以存储的变量数量由数组的大小决定。

指针只能存储单个变量的地址。

4.

数组的初始化可以在定义时完成。

指针不能在定义时初始化。

5.

数组的性质是静态的。

指针的性质是动态的。

6.

数组不能根据用户的需求调整大小。

指针可以在任何时候调整大小。

7.

数组的分配在编译时完成。

指针的分配在运行时完成。

结论

您应该注意的最重要的区别是,数组用于存储同质数据类型的值,而指针用于存储变量的地址。

更新于:2023年2月20日

9K+ 浏览量

开启您的职业生涯

完成课程获得认证

开始学习
广告