#include
//指针数字 本质是一个数组
//变量定义 int a;数值数组 int num[5];//当前数组中 里面存储的内容 比如10,9,8,7,6
//指针变量定义 int *num[5];//在指针数组中 里面的存储的内容是5个地址
//二维数组 每一行都行地址num[i] 着成5个一维数组
int num[5][4]=
{
1,2,3,4,
5,6,7,8,
9,10,11,12,
13,14,15,16,
17,18,19,20
};
//通过指针指向一维数组
int number[4],*p=number;
//定义一个指针数组 存的多个地址
int *p_num[5]={NULL};
void main(void)
{
/*p_num[0]=num[0];
for(p_num[0]=num[0];p_num[0]<&num[0][4];p_num[0]++)
{
printf("%d\t",*p_num[0]);
}
printf("\n");*/
int i;
for(i=0;i<5;i++)
{
p_num[i]=num[i];//指针数组的每一个元素分别指向了二维数组每一行的首地址
}
//通过指针数组对数组num进行输出
for(i=0;i<5;i++)
{
for(p_num[i]=num[i];p_num[i]<&num[i][4];p_num[i]++)
{
printf("%d\t",*p_num[i]);
}
printf("\n");
}
}
#include
int num[5][4]=
{
1,2,3,4,
5,6,7,8,
9,10,11,12,
13,14,15,16,
17,18,19,20
};
int number[4],*p=number;
int *p_num[5]={NULL};
void main(void)
{
int i,j;
for(i=0;i<5;i++)
{
f or(j=0;j<4;j++)
{
printf("%d\t",p_num[i][j])
}
}
}
#include
int num[5][4]=
{
1,2,3,4,
5,6,7,8,
9,10,11,12,
13,14,15,16,
17,18,19,20
};
int number[4],*p=number;
int *p_num[5]={NULL};
void main(void)
{
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
printf("%d\t",*(*(p_num+i)+j);//*(p_num+i)<==>p_num[i]<==>&num[i][0]//p_num[i]+j==>&num[i][j]
}
printf("\n")
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)