黑马程序员技术交流社区

标题: 为什么两个数组元素的地址相减之差不为地址之差? [打印本页]

作者: huahaoL    时间: 2015-9-6 21:46
标题: 为什么两个数组元素的地址相减之差不为地址之差?

                                                                                                                                                [size=12.000000pt]int i, a[] = {3,4,5,6,7,3,7,4,4,6};
[size=12.000000pt]for (i = 0; i <= 9; i++)
{
                                        [size=12.000000pt]     printf("%d\n", *(a+i));   }                               
                       
               

C语言中,为什么指针表达式的值+1,对应的地址值却+4? / 为什么两个数组元素的地址相减之差不为地址之差?


作者: bdw9005    时间: 2015-9-7 00:07
每个元素站四个字节,即相差四
作者: 唐肖虎    时间: 2015-9-7 16:51
一个指针占4个字节,相邻两个的值虽然只隔1,但是地址是隔四个字节的
作者: 庞佳星    时间: 2015-9-7 17:13
heiheieheihei
作者: Mr.CHEN    时间: 2015-9-7 23:27
有意思,挺好玩的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2