当前位置:首页 C++ > 正文

c++数组与指针

作者:野牛程序员:2024-07-15 14:35:09 C++阅读 2300
c++数组与指针

C++ 中,数组与指针有密切的关系。以下是关于数组与指针的一些关键点:

数组

数组是一组相同类型元素的集合,通过连续的内存位置存储。数组可以通过索引访问。

int arr[5] = {1, 2, 3, 4, 5};

指针

指针是一个变量,其值为另一个变量的地址。指针可以用于动态内存分配、数组操作、函数参数传递等。

int *ptr;
int var = 10;
ptr = &var; // ptr 现在指向 var 的地址

数组与指针的关系

  1. 数组名作为指针: 数组名在表达式中可以作为指向数组第一个元素的指针。

int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 等同于 int *ptr = &arr[0];
  1. 指针操作数组元素: 可以通过指针访问和操作数组元素。

int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;
for (int i = 0; i < 5; i++) {
    std::cout << *(ptr + i) << std::endl; // 输出数组元素
}
  1. 指针数组: 可以创建一个指针数组,其中每个元素都是一个指针。

int *arr[3];
int a = 1, b = 2, c = 3;
arr[0] = &a;
arr[1] = &b;
arr[2] = &c;
  1. 数组指针: 数组指针是一个指向数组的指针,通常用于函数参数。

void printArray(int (*arr)[5], int size) {
    for (int i = 0; i < size; i++) {
        std::cout << (*arr)[i] << std::endl;
    }
}

int arr[5] = {1, 2, 3, 4, 5};
printArray(&arr, 5);

注意事项

  • 数组名是常量指针,不能修改其指向。

  • 指针可以进行算术运算,而数组名不可以。

  • 动态分配数组时,需使用指针并手动管理内存。



野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++
  • 最新推荐

    热门点击