.数组指针和指针数组区别
时间: 2023-09-25 08:14:52 浏览: 55
数组指针和指针数组是两种不同的概念。
指针数组是一个数组,其中的每个元素都是一个指针。它可以被定义为`type *arr[n]`,其中`type`是指针指向的数据类型,`n`是数组的大小。例如,`int *arr[5]`是一个指针数组,其中的每个元素都是一个`int`类型的指针。
数组指针是一个指针,它指向一个数组。它可以被定义为`type (*ptr)[n]`,其中`type`是数组中元素的数据类型,`n`是数组的大小。例如,`int (*ptr)[5]`是一个数组指针,它指向一个包含5个`int`元素的数组。
总的来说,指针数组是一个数组,其中的每个元素都是指针,而数组指针是一个指向数组的指针。它们在使用方法和语义上有很大的不同。
相关问题
数组指针和指针数组区别
数组指针和指针数组是C语言中两个不同的概念。
1. 数组指针(pointer to an array)是指一个指针,它指向一个数组的首地址。可以通过数组指针来访问数组中的元素。数组指针的声明方式为:`type (*ptr)[size]`,其中`type`是数组中元素的类型,`size`是数组的大小。
2. 指针数组(array of pointers)是指一个数组,其中的每个元素都是一个指针。可以通过指针数组来存储多个指针。指针数组的声明方式为:`type *arr[size]`,其中`type`是指针指向的类型,`size`是数组的大小。
它们的区别在于:
- 数组指针是一个指向数组的指针,它可以通过指针运算来访问数组中的元素。
- 指针数组是一个数组,其中的每个元素都是一个指针,可以通过索引来访问每个指针。
请分别给出名字为 hqyj 的如下定义(类型自己指定即可,需要初始化的写出初始化格式): (注意:请带上编号按顺序给出,不会的也要把编号写上) 1.变量 2.一级指针 3.二级指针 4.一维数组 5.二维数组 6.数组指针 7.指针数组
1. 变量:int hqyj = 0;
2. 一级指针:int *hqyj_ptr = NULL;
3. 二级指针:int **hqyj_ptr2 = NULL;
4. 一维数组:int hqyj_arr[10] = {0};
5. 二维数组:int hqyj_arr2d[5][10] = {{0}};
6. 数组指针:int (*hqyj_arr_ptr)[10] = NULL;
7. 指针数组:int *hqyj_ptr_arr[5] = {NULL};