2011-06-14 115 views
3

看看这个方法:传递参数

void* matmult (void*) 

是什么(void*)意思?我知道该函数返回一个指向任何数据类型的指针。但是,这个论点是通过了什么?为什么没有参数名称被传递?

+0

对不起,我没有完成问题。怎么没有传递变量名? – Naz 2011-06-14 22:15:19

+0

你不需要命名变量,它只是一个签名。看[这个维基百科链接](http://en.wikipedia.org/wiki/Function_signature) – Marlon 2011-06-14 22:19:24

回答

14

C原型函数中的变量名不是必需的。

+0

谢谢你们!很有帮助!! – Naz 2011-06-14 22:26:04

+1

变量名称在函数定义中也不是必需的。 – 2011-06-15 01:43:26

2

而且有时你会看到类似这样的:

void* foo(void); 

在这种情况下,功能明确声明,它不带任何参数。你为什么要这样做,而不是只留下参数?由于历史原因,缺少参数实际上意味着一个void *或int *参数。

​​

这将工作和编译,但它不清楚变量传入的目的不是。