C语言中指针移动到底移动了多少
程序一:#include<stdio.h>voidmain(){inta[2][3]={1,2,3,4,5,6};int(*p)[3]=a;printf("%d\n",*...
程序一:
#include <stdio.h>
void main()
{
int a[2][3] = {1,2,3,4,5,6};
int (*p)[3] = a;
printf("%d\n",*p);
}
输出答案:-1073956716
一开始,p指向a数组的0号元素的首地址,那p[3]不就和a[0][3]一个意思了?那为什么会输出一个溢位的值,求解,应该是我理解错了。 展开
#include <stdio.h>
void main()
{
int a[2][3] = {1,2,3,4,5,6};
int (*p)[3] = a;
printf("%d\n",*p);
}
输出答案:-1073956716
一开始,p指向a数组的0号元素的首地址,那p[3]不就和a[0][3]一个意思了?那为什么会输出一个溢位的值,求解,应该是我理解错了。 展开
3个回答
引用Beanmusic的回答:
#include <stdio.h>
void main()
{
int a[2][3] = {1,2,3,4,5,6};
int (*p)[3] = a;
printf("%d\n",**p);
}
好像应该是**p
*p 仍然是个指针
#include <stdio.h>
void main()
{
int a[2][3] = {1,2,3,4,5,6};
int (*p)[3] = a;
printf("%d\n",**p);
}
好像应该是**p
*p 仍然是个指针
展开全部
二级指针没定义可以用吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询