📜  CC++中的数组和指针的比较与例子(1)

📅  最后修改于: 2023-12-03 15:14:07.054000             🧑  作者: Mango

CC++中的数组和指针的比较与例子

在CC++中,数组和指针是非常常用的数据类型。虽然它们有一些相似之处,但它们也有一些区别。本篇文章将介绍数组和指针的比较和例子,以便程序员对其有更全面的认识。

数组和指针的比较

数组和指针都是指向内存地址的指针,但它们之间还是有一些重要的区别的。

数组

数组是一组有序的内存单元。每个元素都有唯一的下标。在数组定义之后,其大小是不可改变的。访问数组元素时,可以使用下标操作符[]。

指针

指针是一个变量,其值是内存地址。指针可以指向任何数据类型,包括数组。可以使用指针访问数组元素。

比较
  • 数组名是一个常量指针,不能修改。
  • 指针可以重新指向不同的地址。
  • 访问数组元素的方式和访问指针指向的对象的方式是不同的。
  • 使用指针访问数组元素时,可以使用递增和递减操作符。
数组和指针的例子
数组

下面是一个简单的数组例子,演示了如何访问数组元素。

int myArray[3] = {0, 1, 2};

for(int i = 0; i < 3; i++)
{
    std::cout << myArray[i] << std::endl;
}

输出:

0
1
2
指针

下面是一个简单的指针例子,演示了如何使用指针访问数组元素。

int myArray[3] = {0, 1, 2};
int* p = myArray; // 将指针指向数组的第一个元素

for(int i = 0; i < 3; i++)
{
    std::cout << *(p + i) << std::endl;
}

输出:

0
1
2
总结

数组和指针在CC++中是非常常用的数据类型。虽然它们有一些相似之处,但它们也有一些区别。程序员应该在使用它们时充分了解它们之间的差异,以避免错误和不必要的开销。