【发布时间】:2016-01-13 12:56:58
【问题描述】:
我最近遇到了以下代码:
static const struct gaih gaih[] = {
#if defined __UCLIBC_HAS_IPV6__
{ PF_INET6, gaih_inet },
#endif
{ PF_INET, gaih_inet },
#if 0
{ PF_LOCAL, gaih_local },
#endif
{ PF_UNSPEC, NULL }
};
struct gaih {
int family;
int (*gaih)(const char *name, const struct gaih_service *service,
const struct addrinfo *req, struct addrinfo **pai);
};
int func{
const struct gaih *g = gaih;
}
我理解 constant 和 static 的含义。 但是我能够以如此粗略的方式破译常量对象的静态初始化背后的逻辑。 请说明这样做的原因或用途
【问题讨论】:
-
这是什么语言?如果这是 C 或 C++,你应该使用正确的语法。
-
这是用于获取网络中主机地址的C代码
-
这不是合法代码。向我们展示正确的代码。
-
这是一个工作项目的一部分。我想说明我关于使用静态数组初始化常量结构对象的问题,这个代码部分就足够了。
-
如果你想讨论一种语言的细节,你应该提供语法正确的代码。哪怕只是一个例子。否则很难区分简化和真正的句法错误。例如。结构的声明不需要
=。
标签: c linux networking