c语言二维数组用指针表示的问题
c语言二维数组用指针表示的问题
日期:2018-02-03 11:15:06 人气:1
#include
void main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int (*p)[4];
p=a;
printf("%d",*(p)[3]);
}
首先你没有理解int (*p)[4];
他的意思就是含有4个指针的数组 由于int a[3][4]只有3行,所以*(p)[3]这个地方就越界了
如果*(p)[2]地址中的值就是17 *(p)[1] 就是9 ,*(p)[0]就是