关于二维数组指针的问题?
有如下程序:
main()
{int a[2][5]={{1,2,3,4,5},{6,7,8,9,10}};
printf ("%d",*(a+1));
}
这样为什么屏幕打出的数不是6而是a[2][0]的地址?我已经加了*号了啊,如果我不加*号,直接是a+1得到的答案还是和*(a+1)是一样的,都是a[2][0]的地址。把程序改成*(*(a+1))后答案却是对的。为什么还要多加一个*号呢?请高手指教。感激不尽!
有如下程序:
main()
{int a[2][5]={{1,2,3,4,5},{6,7,8,9,10}};
printf ("%d",*(a+1));
}
这样为什么屏幕打出的数不是6而是a[2][0]的地址?我已经加了*号了啊,如果我不加*号,直接是a+1得到的答案还是和*(a+1)是一样的,都是a[2][0]的地址。把程序改成*(*(a+1))后答案却是对的。为什么还要多加一个*号呢?请高手指教。感激不尽!