搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 还是无聊之函数瞎搞
标题:
还是无聊之函数瞎搞
只看楼主
朱大哥
等 级:
论坛游侠
威 望:
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
诸葛欧阳
来 自:流年
等 级:
贵宾
威 望:
82
帖 子:2790
专家分:14619
注 册:2014-10-16
第
2
楼
得分:0
能否解释一下?
一片落叶掉进了回忆的流年。
2015-01-26 16:53
a824366984
等 级:
新手上路
帖 子:8
专家分:0
注 册:2011-6-20
第
3
楼
得分:0
这是什么逻辑。。。。。。。。。。。。。。
eq=1 iq=99
2015-01-26 17:41
lovegh
来 自:图灵学院
等 级:
职业侠客
威 望:
3
帖 子:117
专家分:311
注 册:2015-1-23
第
4
楼
得分:0
确实好无聊,无非是声明了函数指针,然后强转调用。不知道能不能运行,看语法是没错
别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。
2015-01-26 19:03
朱大哥
等 级:
论坛游侠
威 望:
2
帖 子:72
专家分:123
注 册:2015-1-16
第
5
楼
得分: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
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
6
楼
得分:0
没有释放内存,函数指针数组只能调用有相同形参的函数,有局限。
在我看来,很多用加密狗加密的都用这种模式,主要是把跟踪者跟的头昏脑胀而已,无它。反应到汇编上多为call [ebx+esi]指令。
能编个毛线衣吗?
2015-01-26 22:28
砖家的谎言
等 级:
禁止访问
威 望:
30
帖 子:693
专家分:3898
注 册:2013-12-6
第
7
楼
得分:0
你说的我都感觉晕晕的
我不是砖家,要努力成为砖家。
2015-01-27 10:11
lovegh
来 自:图灵学院
等 级:
职业侠客
威 望:
3
帖 子:117
专家分:311
注 册:2015-1-23
第
8
楼
得分:0
回复 5楼 朱大哥
哈哈,水平有限,没有这么用过。觉得貌似可以模拟实现面向对象的多态。
别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。
2015-01-27 16:17
8
1/1页
1
参与讨论请移步原网站贴子:
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