C语言指针数组与数组指针的区别
首先,顾名思义
数组指针是一个指针,是指向一个数组的指针,如 int (a*)[5];这就是一个指向含有5个元素的数组的指针
指针数组是一个数组,它包含的元素全是指针变量,如 int *a[5],它中有5个指针变量,也就是5个地址,分别指向一个int型的数据
#include <stdio.h>
int main(){
int c[4] = { 1,2,3,4 };
int *a[4]; //指针数组
int(*b)[4]; //数组指针
b = &c;
//将数组c中元素赋给数组a
for (int i = 0; i < 4; i++){
a[i] = &c[i];
}
//输出看下结果
printf("%d\n", *a[1]);
printf("%d", (*b)[2]);
return 0;
}