数组
举例 打印地址和值
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i < 10; i++)
{
//想要获取每一个元素的地址
// 首先获取每一个元素 arr[i]
// 在获取每一个元素的地址
// 在将地址打印即可 (void *)
printf("地址:%p ,值:%d\n",&(arr[i]),arr[i]);
}
指针数组
简单理解
是一个数组
,数组中的元素是指针
举例 打印地址和值
int a = 1,b = 2 ,c = 3;
int * pointArr[10] = {&a,&b,&c};
for (int i = 0; i < 3; i++)
{
printf("地址:%p ,值:%i \n",pointArr[i],*pointArr[i]);
}
数组指针
简单理解
是一个指针,指针指向一个数组
举例 打印地址和值
数组单元表达的是变量,需要使用&取地址
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int (* arrPoint) [10] = &arr;
for (int i = 0; i < 10; i++)
{
// 首先解引用 然后获取对应的数组 *arrPoint
// 其次获取对应数组的元素即可 (*arrPoint)[i]
printf("地址:%p ,值:%d \n",&(*arrPoint)[i],(*arrPoint)[i]);
}