指针数组和数组指针的用法
时间: 2024-12-15 07:07:09 浏览: 18
指针数组和数组指针是C语言中常见的两种数据类型,它们在用法上有一些区别。
1. **指针数组**:
指针数组是一个数组,其中每个元素都是一个指针。定义方式如下:
```c
int *ptr_array[5];
```
这里的`ptr_array`是一个包含5个整型指针的数组。可以这样使用:
```c
int a = 1, b = 2, c = 3, d = 4, e = 5;
int *ptr_array[5] = {&a, &b, &c, &d, &e};
for(int i = 0; i < 5; i++) {
printf("%d ", *ptr_array[i]);
}
```
2. **数组指针**:
数组指针是一个指针,它指向一个数组。定义方式如下:
```c
int (*array_ptr)[5];
```
这里的`array_ptr`是一个指向包含5个整型元素的数组的指针。可以这样使用:
```c
int arr[5] = {1, 2, 3, 4, 5};
int (*array_ptr)[5] = &arr;
for(int i = 0; i < 5; i++) {
printf("%d ", (*array_ptr)[i]);
}
```
总结:
- 指针数组:`int *ptr_array[5];` 是一个数组,元素是指针。
- 数组指针:`int (*array_ptr)[5];` 是一个指针,指向一个数组。
阅读全文