| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 825 人关注过本帖
标题:有几条表达式不太懂
只看楼主 加入收藏
kuaisha
Rank: 2
等 级:论坛游民
帖 子:120
专家分:30
注 册:2016-8-3
结帖率:100%
收藏
 问题点数:0 回复次数:3 
有几条表达式不太懂
我可以理解
zippo      (一个大小为2int的元素的地址)
zippo+2    (第三个大小为2个int的元素的地址)
理解不了下面这三句,有什么比较好的理解方法吗?
*(zippo+2)
*(zippo+2)+1
*(*(zippo+2)+1)
程序代码:
#include<stdio.h>


int main(viod)
{
    int zippo[4][2]={{2,4},{6,8},{1,3},{5,7}};
    printf("zippo=%p,    zippo+1=%p\n",
            zippo,        zippo+1);
    printf("*zippo[0]=%p,    zippo[0]+1=%p\n",
            zippo[0],    zippo[0]+1);
    printf("*zippo=%p,    *zippo+1=%p\n",
            *zippo,      *zippo+1);
    printf("zippo[0][0]=%d\n",zippo[0][0]);
    printf("*zippo[0]=%d\n",*zippo[0]);
    printf("**zippo=%d\n",**zippo);
    printf("zippo[2][1]=%d\n",zippo[2][1]);
    printf("*(*(zippo+2)+1)=%d\n",*(*(zippo)+1));
    return 0;
} 


[此贴子已经被作者于2017-11-18 17:01编辑过]

搜索更多相关主题的帖子: 表达式 int 元素 地址 printf 
2017-11-15 23:16
丘山君
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:87
专家分:154
注 册:2017-11-15
收藏
得分:0 
zippo是指针还是?
2017-11-16 08:21
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
#include <stdio.h>
main()
{
    struct {int a; int b;} zippo[3]={{1,2},{11,22},{111,222}};
    printf("%d %d\n", zippo->a, zippo->b);  //zippo (一个大小为2个int的元素的地址)
    printf("%d %d\n", (zippo+2)->a, (zippo+2)->b);  //zippo+2 (第三个大小为2个int的元素的地址)
}
2017-11-16 09:04
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
zippo表达的是一组数
*zippo想要表达什么?
2017-11-16 09:37
快速回复:有几条表达式不太懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044629 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved