struct sockaddr far *)&sa sa 是结构变量, &sa是取sa在内存中的指针(地址) struct sockaddr far *) 是类型强制转换,意思是将后面的东西转成struct sockaddr far *)类型。 这个类型是指针(地址)类型,这个指针不是一般的指针,而是指向struct sockaddr的指针,而且是far指针(远程指针)
type PhoneEntry = record FirstName, LastName: string[20]; PhoneNumber: string[15]; Listed: Boolean; end;//此即为一struct PhoneList = file of PhoneEntry; phoneList.FirstName:='yan';//调用struct phoneList.LastName:='xin'; ……
sa 是结构变量, &sa是取sa在内存中的指针(地址)
struct sockaddr far *) 是类型强制转换,意思是将后面的东西转成struct sockaddr far *)类型。 这个类型是指针(地址)类型,这个指针不是一般的指针,而是指向struct sockaddr的指针,而且是far指针(远程指针)
FirstName, LastName: string[20];
PhoneNumber: string[15];
Listed: Boolean;
end;//此即为一struct
PhoneList = file of PhoneEntry;
phoneList.FirstName:='yan';//调用struct
phoneList.LastName:='xin';
……
^^WinSock.pas定义有
sa.sin_family = PF_INET;
sa.sin_port = htons(7016); /* port number */
sa.sin_addr.s_addr = INADDR_ANY; /* address */
bind(listen_sd, (struct sockaddr far *)&sa, sizeof(sa))
////////////////////////
sa.sin_family := PF_INET;
sa.sin_port := htons(7016);
sa.sin_addr.s_addr = INADDR_ANY;
bind(listen_sd, @sa, SizeOf(sa));
以上的东西都要引用WinSock这个单元。