当前位置: 代码迷 >> C语言 >> Static 这个特殊的指针?
  详细解决方案

Static 这个特殊的指针?

热度:836   发布时间:2006-02-14 14:11:00.0
m=&m[0][0]

哪 *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]是数组的首地址的内容吧?
----------------解决方案--------------------------------------------------------
  相关解决方案