请教一个VC++SOCKET的问题

bind(ss, (SOCKADDR*)&ddd, sizeof(ss));
请问下这句话中的,第二个参数为什么要加取地址呀?难道SOCKADDR*不足以把
ddd转换成指针吗?还要加个取地址,好像别的地方的用法都不用加取地址符

(SOCKADDR*)只是强制类型转换,是用来改变变量类型的,不会对变量经行取地址操作。

建议参考官方资料。
https://msdn.microsoft.com/en-us/library/ms737550

进行类型转换,符合函数调用的参数。bind的第二个参数有类型要求。你需要对应的转换

第二个参数要求是SOCKADDR* 类型的,而ss是SOCKADDR_IN类型的,当然他要的是地址,
所以就是&ss了,又因为参数类型和所给的数据类型不同,所以在这里进行了强制类型转换。