函数声明前面带*和返回值无效?

时间:2013-09-28 01:08:24

标签: c++ c function-pointers

所以,我正在阅读Beej的网络编程指南,他使用了这个功能:

void *get_in_addr(struct sockaddr *sa)
{
    if (sa->sa_family == AF_INET) {
    return &(((struct sockaddr_in*)sa)->sin_addr);
}

所以,我得到它的一般做法。我无法理解的是函数声明中的*究竟是什么。此外,此函数似乎返回一个内存位置,但它的空白。怎么回事?

1 个答案:

答案 0 :(得分:4)

'*'表示函数返回void *。这是一个可以强制转换为任何其他指针的指针。