admin 管理员组文章数量: 887021
一、二维数组中的a,a+1,a,a+1解析
一维数组:
int a[3] = { 1,2,4 };printf("a(数组首地址)=%d\n", a); printf("a+1(第2个元素地址)=%d\n\n", a + 1);printf("&a(整个数组的地址)=%d\n", &a);printf("&a+1(跨越了整个数组,指向最后一个元素的下一地址)=%d\n", &a + 1);printf("\n&a[2](最后一个元素)=%d\n", &a[2]);
//注意:在一维数组中,a表示数组首地址(首元素地址),所以a + 1就是下一元素地址;//&a也是数组首地址,但是其意义完全不一样,可以这样进行理解:是取整个数组的地址,那么&a+1就是一次移动一个数组!
二维数组:
int a[2][3] = { 1,2,4,5,6,8 };printf("a(0行首地址)=%d\n", a);printf("a+1(1行首地址)=%d\n\n", a + 1);printf("&a(整个数组的地址)=%d\n", &a);printf("&a+1(跨越了整个数组,指向最后一个元素的下一地址)=%d\n", &a + 1);printf("\n&a[1][2]=%d\n", &a[1][2]);
//注意:在二维数组中,a表示数组0行首地址,所以a + 1就是1行首地址;
//&a也是数组0行首地址,但是其意义完全不一样,可以这样进行理解:是取整个数组的地址,那么&a+1就是一次移动一个数组!
}
版权声明:本文标题:一、二维数组中的a,a+1,a,a+1解析 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1699107231h329117.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论