关于C语言中指向由m个元素组成的一维数组的指针变量
#include<stdio.h>intmain(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};int*p;inti,j;p...
#include<stdio.h>
int main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int *p;
int i,j;
p=a;
scanf("%d%d",&i,&j);
printf("a[%d,%d]=%d\n",i,j,*((p+i)+j));
return 0;
}
#include<stdio.h>
int main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int (*p)[4];
int i,j;
p=a;
scanf("%d%d",&i,&j);
printf("a[%d,%d]=%d\n",i,j,*((p+i)+j));
return 0;
}
两段代码如上 输出结果是一样的
我想问的是 指向由m个元素组成的一维数组的指针变量到底有什么用
因为如第一段代码 把a赋给p a是第一行的地址 那么p就已经是指向第一行的了
为什么还要用指向一维数组的指针变量 展开
int main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int *p;
int i,j;
p=a;
scanf("%d%d",&i,&j);
printf("a[%d,%d]=%d\n",i,j,*((p+i)+j));
return 0;
}
#include<stdio.h>
int main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int (*p)[4];
int i,j;
p=a;
scanf("%d%d",&i,&j);
printf("a[%d,%d]=%d\n",i,j,*((p+i)+j));
return 0;
}
两段代码如上 输出结果是一样的
我想问的是 指向由m个元素组成的一维数组的指针变量到底有什么用
因为如第一段代码 把a赋给p a是第一行的地址 那么p就已经是指向第一行的了
为什么还要用指向一维数组的指针变量 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询