打印

空指针

[复制链接]
1352|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangpe|  楼主 | 2011-6-16 18:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有这样的写法,(void*)f(int a,int b);有点不明白。
沙发
langgq| | 2011-6-16 18:28 | 只看该作者
int(*p)(int a,int b);这个是指针函数的调用。
int *p(int a,int b);这个是返回值是指针类型。

使用特权

评论回复
板凳
wangpe|  楼主 | 2011-6-16 18:46 | 只看该作者
上面的那个(void *)这种空指针没有说明具体的指针变量,好奇怪,到底是什么意思呢???

使用特权

评论回复
地板
zhanglli| | 2011-6-16 19:04 | 只看该作者
亦即可以指向任意类型

使用特权

评论回复
5
lium| | 2011-6-16 19:31 | 只看该作者
我的理解是:
定义了一个函数,该函数返回值为指针类型,但未指明其指向的数据类型,之后如果要调用该函数,得到其返回值,则必须将其进行强制类型转换。
如:

/* 定义 */
(void*) f (int a, int b);
{
    int c = 0;
    c = a + b;

    return(c);
}

/* 调用 */
void main(void)
{
    char d = 0;
    while(1)
    {
        d = (char) f (5, 6);    //此处必须为 f() 函数指定返回值类型
        ......
    }
}

使用特权

评论回复
6
guoyt| | 2011-6-16 21:26 | 只看该作者
YES

使用特权

评论回复
7
wangpe|  楼主 | 2011-6-16 21:43 | 只看该作者
OK ,I Know

使用特权

评论回复
8
qaqaqaqa| | 2011-6-22 15:06 | 只看该作者
这地方f() 函数指定返回值类型
很关键

使用特权

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

本版积分规则

938

主题

9837

帖子

2

粉丝