为什么&buf[0]=buf[0]呢?

nicein 2002-05-17 09:10:16
char buf[2][4];

buf[0][0]='a';
buf[0][1]='b';
buf[0][2]='c';
buf[1][0]='A';
buf[1][1]='B';
buf[1][2]='C';
printf("%d",&buf[0][0]);
printf("%d",&buf[0]);

printf("%d",buf[0]);
printf("%d",&buf[0]);
...全文
710 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Flamesong 2002-05-17
  • 打赏
  • 举报
回复
thanks to blactte(想认识我吗?在靠近一点!)
有收获!
jammes 2002-05-17
  • 打赏
  • 举报
回复
同意楼上,结账吧
blactte 2002-05-17
  • 打赏
  • 举报
回复
这是个二维指针问题
对于buf[n][m]来说,因为是个数组,所以数组名可以作为地址来引用
buf代表的地址是整个数组得首地址及buf[0][0]的地址
而buf[0]的地址代表二维数组的第零列的首地址及buf[0][0];&buf[0]的地址代表二维数组的第零列的首地址
所以&buf[0]=buf[0]

70,027

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧