这是一个简单的问题。 sin_family、sin_port、sin_addr、sin_zero中首字母“s”是什么意思?
struct sockaddr_in {
short int sin_family; // Address family, AF_INET
unsigned short int sin_port; // Port number
struct in_addr sin_addr; // Internet address
unsigned char sin_zero[8]; // Same size as struct sockaddr
};
谢谢。
最佳答案
这来自伯克利,那时候 LSD 仍然是合法的。他们的命名选择非常明显:/
不开玩笑,这可以追溯到非常早期的 K&R C,其中结构成员没有自己的命名空间。这要求您为不会与全局 namespace 中的标识符冲突的结构成员提供不同的名称。痛苦。常用的方法是在名称前加上结构名称的缩写。
因此“sockaddr_in”变成了“sin”。
请注意,今天枚举仍然存在这个问题,并不是以同样的方式解决的。
关于c - 结构中的 "s"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4970087/