int *p[6]; //定义了一个指针数组,里面有六个元素,元素类型是指针 指向的类型是int型
int b[6] = {1,3,6,4,2,6};
printf("这里打印的是b数组的在计算机中的物理地址\n");
for (int i = 0;i < 6;i++)
{
printf("%p\n", &b[i]);
}
printf("给指针数组赋值\n");
for (int i = 0;i < 6;i++)
{
p[i] = &b[i]; //这里相当于是给指针数组赋值
printf("%p\n", &p[i]);
}
printf("这里打印的是指针数组在计算机中的物理地址\n");
for (int i = 0;i<6;i++)
{
printf("%p\n", p[i]);
}
printf("这里打印的是指针数组中每个指针所指向的内存单元中的值\n");
for (int i = 0;i < 6;i++)
{
printf("%d\n", *p[i]);
}
输出结果
这里打印的是b数组的在计算机中的物理地址
010FFC0C
010FFC10
010FFC14
010FFC18
010FFC1C
010FFC20
这里打印的是指针数组在计算机中的物理地址
010FFC2C
010FFC30
010FFC34
010FFC38
010FFC3C
010FFC40
这里打印的赋值完以后指针数组中的内容
010FFC0C
010FFC10
010FFC14
010FFC18
010FFC1C
010FFC20
这里打印的是指针数组中每个指针所指向的内存单元中的值
1
3
6
4
2
6