赞
踩
首先int *p[10] :数组中10个数均为指针,一共10个指针。等价于int * (p[10]);10个指针
int (*p)[10]表示一个指向为10个整型元素数组的指针,就1个指针
#include <stdio.h>
int main()
{
int a[10] = { 1,2,3,4,5,6,7,8,9,0 };
int b[10] = { 1,2,3,4,5,6,7,8,9,0 };
int c[10] = { 1,2,3,4,5,6,7,8,9,0 };
int *p[3];
p[0] = &a[0];//第一个指针指向a数组首元素
p[1] = &b[0];//第二个指针指向数组b首元素
p[2] = &c[0];
for (int i = 0; i < 10; i++)
printf("%d", p[0][i]);输出为1,2,3,4,5,6,7,8,9,0
printf("\n");
for (int i = 0; i < 10; i++)
printf("%d", p[1][i]);
printf("\n");
for (int i = 0; i < 10; i++)
printf("%d", p[2][i]);//这里p[2]表示一个指针,可以把p[2]整体作为*q,就相当于q[i]
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
int a[10] = { 1,2,3,4,5,6,7,8,9,0 };
int (*p)[10];//这里10表示数组中为10个整型元素
p= &a[0];
for (int i = 0; i < 10; i++)
printf("%d", p[0][i]);//这里p[0]表示一个数组,p[0][i]表示数组第i个元素,输出为1,2,3..9,0
printf("\n");
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。