标题:还是无聊之函数瞎搞
只看楼主
朱大哥
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:72
专家分:123
注 册:2015-1-16
结帖率:22.22%
 问题点数:0 回复次数:7 
还是无聊之函数瞎搞
#include <stdlib.h>
#include <stdio.h>
int abc(char *str)
{
    printf("%s\n",str);
}
typedef int (*func)(char *);
int main()
{
    void *arrary;
    char *str="hello,world";
    arrary=abc;
    ((func)arrary)(str);

}
搜索更多相关主题的帖子: include hello world 
2015-01-26 13:31
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:0 
能否解释一下?

一片落叶掉进了回忆的流年。
2015-01-26 16:53
a824366984
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-6-20
得分:0 
这是什么逻辑。。。。。。。。。。。。。。

eq=1  iq=99
2015-01-26 17:41
lovegh
Rank: 5Rank: 5
来 自:图灵学院
等 级:职业侠客
威 望:3
帖 子:117
专家分:311
注 册:2015-1-23
得分:0 
确实好无聊,无非是声明了函数指针,然后强转调用。不知道能不能运行,看语法是没错

别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。
2015-01-26 19:03
朱大哥
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:72
专家分:123
注 册:2015-1-16
得分:0 
#include <stdio.h>
#include <stdlib.h>
int deala()
{
    printf("hello,world\n");
    return 2;
}
int dealb()
{
    printf("cao ni ma\n");
    return 1;
}
int main(int argc,char *argv[])
{
    int i;
    int (**deal)();
    deal=(int (**)())malloc(8);
    *deal=deala;
    *(deal+1)=dealb;
     for(i=0;i<2;i++)
        (*(deal+i))();
}


这个更是无聊了对吧 将函数地址存放到数组里面 再用数组对函数进行操作不知道 你还会觉得无聊不
如果将这个数组做成结构数组  你还觉得无聊否
如果是一大串这样的函数
你通过某个规则 将函数存放到数组中
你觉得程序是不是更智能些呢


[ 本帖最后由 朱大哥 于 2015-1-26 21:03 编辑 ]
2015-01-26 20:59
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:0 
没有释放内存,函数指针数组只能调用有相同形参的函数,有局限。
在我看来,很多用加密狗加密的都用这种模式,主要是把跟踪者跟的头昏脑胀而已,无它。反应到汇编上多为call [ebx+esi]指令。

能编个毛线衣吗?
2015-01-26 22:28
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
得分:0 
你说的我都感觉晕晕的

我不是砖家,要努力成为砖家。
2015-01-27 10:11
lovegh
Rank: 5Rank: 5
来 自:图灵学院
等 级:职业侠客
威 望:3
帖 子:117
专家分:311
注 册:2015-1-23
得分:0 
回复 5楼 朱大哥
哈哈,水平有限,没有这么用过。觉得貌似可以模拟实现面向对象的多态。

别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。
2015-01-27 16:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-441478-1-1.html




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

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