所以,我正在阅读 Beej 的网络编程指南,他使用了这个功能:
void *get_in_addr(struct sockaddr *sa)
{
if (sa->sa_family == AF_INET) {
return &(((struct sockaddr_in*)sa)->sin_addr);
}
所以,我知道它在做什么。我无法理解的是函数声明中的 * 到底在做什么。此外,这个函数似乎正在返回一个内存位置,但它是无效的。这里发生了什么?
所以,我正在阅读 Beej 的网络编程指南,他使用了这个功能:
void *get_in_addr(struct sockaddr *sa)
{
if (sa->sa_family == AF_INET) {
return &(((struct sockaddr_in*)sa)->sin_addr);
}
所以,我知道它在做什么。我无法理解的是函数声明中的 * 到底在做什么。此外,这个函数似乎正在返回一个内存位置,但它是无效的。这里发生了什么?