打印

一个C语言的问题

[复制链接]
1766|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一群群的过|  楼主 | 2013-9-29 15:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在程序里定义了如下的函数
void test(void)
{
...
}
我想知道如果我用了test;
而不是用test();
那我用的是什么?先申明,这个不会报错,且程序能运行,但结果是错的,我被这个东西卡了一天,嘎嘎···

相关帖子

沙发
ayb_ice| | 2013-9-29 16:30 | 只看该作者
test表示地址

使用特权

评论回复
板凳
ballack_linux| | 2013-9-29 17:24 | 只看该作者
test是函数入口地址啊,可以传递给函数指针,test()是函数调用,执行该函数

使用特权

评论回复
地板
sunhq02| | 2013-9-29 18:00 | 只看该作者
test表示函数的入口地址, 是一个数值

使用特权

评论回复
5
sunhq02| | 2013-9-29 18:01 | 只看该作者
如果是  test; 的话, 就是一个数值为 test的语句, 然后啥也不干

使用特权

评论回复
6
很忙| | 2013-9-30 08:37 | 只看该作者
你可以这样测试一下,
char a;
a=test;
这个时候肯定会报错,报错系统会提示什么错误,我这里显示的
不可移动的指针(地址常数)赋值。所以执行下test;
可以理解为这里就是地址常数。

使用特权

评论回复
7
酸梅汤| | 2013-9-30 15:07 | 只看该作者
test是一个地址

使用特权

评论回复
8
sepler| | 2013-9-30 15:20 | 只看该作者
同意

使用特权

评论回复
9
crazy2012| | 2013-9-30 15:27 | 只看该作者
函数的入口地址

使用特权

评论回复
10
puppet21| | 2013-9-30 16:17 | 只看该作者
敢问一下楼主有没有用过函数指针?

函数指针是怎么赋值的?

看一下这个你就明白为什么test不能这么用了~!!!!

使用特权

评论回复
11
wangflw| | 2013-9-30 16:28 | 只看该作者
6楼说的很直白了。test;没有什么意义,没执行子函数。

使用特权

评论回复
12
游浪星| | 2013-10-3 07:39 | 只看该作者
test 就是函数地址,跟&test是一样的

使用特权

评论回复
13
outstanding| | 2013-10-3 07:53 | 只看该作者
你那个test单独使用,意义不是太大。

使用特权

评论回复
14
linfeng24| | 2013-10-3 20:18 | 只看该作者
看看谭浩强老师的书,函数那章知识你就懂了。

使用特权

评论回复
15
xiaoyuan_ly| | 2013-10-8 16:14 | 只看该作者
在编译后,test符号代表的是一个地址。具体请自己查看C语言和你用的C编译器。

使用特权

评论回复
16
diweo| | 2013-10-8 16:22 | 只看该作者
结果没有错,只是和你预想的不一样。
错的是你的用法。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

23

帖子

0

粉丝