c语言指针数组与数组指针
时间: 2025-01-14 15:19:07 浏览: 37
在C语言中,指针数组和数组指针是两个容易混淆的概念。它们虽然名字相似,但实际上是不同的数据类型。
1. **指针数组(Array of Pointers)**:
指针数组是一个数组,其中每个元素都是一个指针。定义方式如下:
```c
int *arr[5];
```
这里的`arr`是一个包含5个整型指针的数组。每个元素都可以指向一个整型变量。
示例:
```c
int a = 1, b = 2, c = 3, d = 4, e = 5;
int *arr[5] = {&a, &b, &c, &d, &e};
for(int i = 0; i < 5; i++) {
printf("%d ", *arr[i]);
}
```
2. **数组指针(Pointer to an Array)**:
数组指针是一个指针,指向一个数组。定义方式如下:
```c
int (*ptr)[5];
```
这里的`ptr`是一个指针,指向一个包含5个整型元素的数组。
示例:
```c
int arr[5] = {1, 2, 3, 4, 5};
int (*ptr)[5] = &arr;
for(int i = 0; i < 5; i++) {
printf("%d ", (*ptr)[i]);
}
```
总结:
- 指针数组是一个数组,数组中的每个元素都是指针。
- 数组指针是一个指针,指向一个数组。
相关问题
C语言指针数组与数组指针区别
C语言中,指针数组与数组指针是两个不同的概念。指针数组是一个数组,数组中的每一个元素都是指针。而数组指针是一个指针,指向一个数组的首元素。
具体地说,指针数组可以这样定义:
```
int* ptrArray[10];
```
这个定义语句定义了一个包含10个元素的指针数组,每个数组元素都是一个int型指针。
而数组指针可以这样定义:
```
int (*ptrArray)[10];
```
这个定义语句定义了一个指向包含10个元素的int型数组的指针。
c语言 数组指针 指针数组
数组指针是指向数组的指针,它保存的是数组的首地址,并且指向的是整个数组。在C语言中,可以通过在指针名称前加上括号和数组大小的方式来定义数组指针,例如:char (*pOneArray) = &cTestOne。这里的pOneArray就是一个指向char类型的一维数组的指针。
指针数组是一个数组,它的元素都是指针。在C语言中,可以通过在指针名称后加上中括号和数组大小的方式来定义指针数组,例如:int *pArray[10]。这里的pArray就是一个由指向int类型的指针组成的数组。
阅读全文
相关推荐











