c指针简单问题

[复制链接]
查看11 | 回复3 | 2008-12-18 18:38:13 | 显示全部楼层 |阅读模式
int a[10]={1,2,3,4,5,6,7,8,9,0};
printf("%d,%d",a,*a);
printf("%d,%d",a[0],*a[0]);
结果是158,158
158,158
解释一下为什么是这结果。讲通俗易懂些。先谢啦!!

回复

使用道具 举报

千问 | 2008-12-18 18:38:13 | 显示全部楼层
这个代码够呛能编译通过吧,*a[0]这个应该编译出错才是,LZ再确认一下说明:a:输出的是该数组被分配空间的首地址,所以不一定是158的,就是一个地址值*a:输出该数组首地址指向的空间的成员值,也就是a[0],为1a[0]:输出第一个成员的值,为1...
回复

使用道具 举报

千问 | 2008-12-18 18:38:13 | 显示全部楼层
打印出来的是数组a的首地址!...
回复

使用道具 举报

千问 | 2008-12-18 18:38:13 | 显示全部楼层
有*a[0]这种用法么??而且158是怎么出来的a的值应该是一个地址 *a 和 a[0]的值应该是1的吧...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行