全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  c语言面试题  >  详情

C语言数组指针和指针数组区别

来源:千锋教育
发布人:zyh
2023-05-31

推荐

  在C语言中,数组指针和指针数组是两个不同的概念。

C语言数组指针和指针数组区别

  数组指针(Pointer to an Array):数组指针是指向数组的指针变量。它存储的是数组的首地址,而不是数组的元素地址。通过数组指针,可以访问整个数组。声明数组指针时,需要指定数组的类型和大小 

int (*ptr)[5];  // 声明一个指向包含5个整型元素的数组的指针

int arr[5] = {1, 2, 3, 4, 5};
ptr = &arr; // 将数组的地址赋给指针变量

  在上述示例中,ptr是一个指向包含5个整型元素的数组的指针。通过ptr可以访问整个数组。

  指针数组(Array of Pointers):指针数组是一个数组,其中的每个元素都是指针。每个指针可以指向不同的数据类型,也可以指向相同的数据类型。指针数组的元素是独立的指针变量,它们存储了各自指向的数据的地址。 

int *arrPtr[5];  // 声明一个包含5个整型指针的数组

int num1 = 1, num2 = 2, num3 = 3, num4 = 4, num5 = 5;
arrPtr[0] = &num1;
arrPtr[1] = &num2;
arrPtr[2] = &num3;
arrPtr[3] = &num4;
arrPtr[4] = &num5;

  在上述示例中,arrPtr是一个包含5个整型指针的数组。通过arrPtr的各个元素,可以存储不同整型变量的地址。

  综上所述,数组指针是指向数组的指针变量,用于访问整个数组;而指针数组是一个数组,其中的每个元素都是指针变量,用于存储不同变量的地址。

相关推荐

在线咨询 免费试学 教程领取