我需要使用 PC 的 eth0 接口的 IP 地址(Linux OS - IPv4)。在事先不知道 IP 地址的情况下,如何将其定义为常量变量?
问问题
1481 次
2 回答
2
你不能。
在 C 中定义常量有两种方法:预处理器 ( #define
) 和常量 ( const something
)。这两者都要求在编译时知道常量的值¹。因此,如果您的目标是有一种方法来引用此 IP,而在程序执行期间不可能用另一个值覆盖它,那根本不可行。
于 2012-05-13T13:11:56.810 回答
2
如果您将它们作为指向地址缓冲区的指针,则可以。导出指向const
限定类型的指针
extern your_address_type const*const addr;
你必须让你的图书馆代码看到类似的东西
static your_address_type my_address;
your_address_type const*const addr = &my_address;
在您的库中,您可以my_address
正确初始化,客户端代码只能看到addr
并且无法更改它。
于 2012-05-13T13:36:56.640 回答