哪 *m = m[0][0] 不也是对的?
----------------解决方案--------------------------------------------------------
不好意思,表达错误!!!
----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
int m[4][4];
m[0][0]=5;
printf ("%d",*m);
}
晕,忽然迷糊了. 输出 *m 或 m 都是 88
----------------解决方案--------------------------------------------------------
或许你说的是对的.
m=&m[0][0];是对的
但 *m=m[0][0]; 就是错的.
m不是指针类型, m只是地址.
----------------解决方案--------------------------------------------------------
超级新手.
14楼的说法: 是否正解?
----------------解决方案--------------------------------------------------------
回15楼的两种都对
----------------解决方案--------------------------------------------------------
还有问题.
第一楼 头四个 printf 输出都是地址.
第五个 printf 输出变成值了. 为什么?
----------------解决方案--------------------------------------------------------
如果没定义指针,那么*m=m[0][0]是错误的,因为系统不能识别m是什么!
----------------解决方案--------------------------------------------------------
m=&m[0];
*m=m[0]=&m[0][0];
**m=m[0][0];知道了吧?
----------------解决方案--------------------------------------------------------
在二维数组中 m,*m,*(m+0),&m[0][0] 是首地址
m[0][0]是数组的首地址的内容吧?
----------------解决方案--------------------------------------------------------