打印

不明白这样的写法

[复制链接]
1013|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuww|  楼主 | 2022-11-6 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有这样的写法,(void*)f(int a,int b);有点不明白。

使用特权

评论回复
沙发
jiahy| | 2022-11-6 16:29 | 只看该作者
int(*p)(int a,int b);这个是指针函数的调用。

使用特权

评论回复
板凳
yszong| | 2022-11-6 16:31 | 只看该作者
int *p(int a,int b);这个是返回值是指针类型。

使用特权

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

使用特权

评论回复
5
renyaq| | 2022-11-6 16:37 | 只看该作者
亦即可以指向任意类型

使用特权

评论回复
6
tian111| | 2022-11-6 16:41 | 只看该作者

我的理解是:
定义了一个函数,该函数返回值为指针类型,但未指明其指向的数据类型,之后如果要调用该函数,得到其返回值,则必须将其进行强制类型转换。

使用特权

评论回复
7
chuxh| | 2022-11-6 16:45 | 只看该作者
如:

/* 定义 */
(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() 函数指定返回值类型
         ......
     }

使用特权

评论回复
8
dingy| | 2022-11-6 16:47 | 只看该作者
这应该是C语言中指针没有返回值的函数

使用特权

评论回复
9
dingy| | 2022-11-6 16:51 | 只看该作者
void*
通用指针,可以直接赋值给各种类型的指针

使用特权

评论回复
10
LOVEEVER| | 2022-11-26 20:10 | 只看该作者
void*是万能指针,楼主可以百度一下指针的用法

使用特权

评论回复
11
OKAKAKO| | 2022-11-27 10:14 | 只看该作者
楼上的都已经说了,就是指针的一些应用,自己实际百度一下学习方法

使用特权

评论回复
12
tpgf| | 2022-12-7 09:59 | 只看该作者
函数声明  有返回值 返回值为指针类型 也就是一个地址

使用特权

评论回复
13
drer| | 2022-12-7 10:20 | 只看该作者
dingy 发表于 2022-11-6 16:47
这应该是C语言中指针没有返回值的函数

这个说法不对  这个是有返回值的 返回值是指针

使用特权

评论回复
14
tfqi| | 2022-12-7 10:36 | 只看该作者
C语言中void * 为 “不确定类型指针”,void *可以用来声明指针

使用特权

评论回复
15
coshi| | 2022-12-7 11:24 | 只看该作者
可以认为void就是一张白纸可以在上班写任何类型的数值

使用特权

评论回复
16
kxsi| | 2022-12-7 11:38 | 只看该作者
void *可以赋值给任何类型的变量 但是需要进行强制转换

使用特权

评论回复
17
wiba| | 2022-12-7 11:50 | 只看该作者
void* 在转换为其他数据类型时,赋值给void* 的类型 和目标类型必须保持一致

使用特权

评论回复
18
Henryko| | 2022-12-26 10:37 | 只看该作者
返回值是指针

使用特权

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

本版积分规则

893

主题

8252

帖子

1

粉丝