| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1051 人关注过本帖, 1 人收藏
标题:c代码解释
只看楼主 加入收藏
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
结帖率:94.12%
收藏(1)
已结贴  问题点数:10 回复次数:2 
c代码解释
ulong addr, rc;
rc=((ulong (*)(int, char []))addr) (--argc, &argv[1]);
怎么解释?
2011-03-08 20:29
新手写程序
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:120
注 册:2011-3-5
收藏
得分:5 
小人怀疑那个char[] 可能是char **;
这个东西可能是个函数 addr 放的是函数的地址
小人猜想的程序是这样的
#include <stdio.h>

long long fun(int argc, char** argv);

int main(int argc, char* argv[]){
    long long addr, rc;
    addr = (long long) fun;
    rc = ( (long long(*) (int, char* []) )addr)(--argc, &argv[1]);
    printf("%lld\n", rc);
    return 0;
}

long long fun(int argc, char** argv){
    puts(*argv);
    return argc;
}

这是个函数 addr 方的是函数的地址,先强制转换成函数在调用该函数。
(本人纯属猜测,毫无根据。。。。见笑了)


[ 本帖最后由 新手写程序 于 2011-3-9 07:05 编辑 ]
2011-03-09 00:01
cacker
该用户已被删除
收藏
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2011-03-09 01:02
快速回复:c代码解释
数据加载中...
 
   



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

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