[英]Passing “struct sockaddr_in” to a method
How can I pass struct sockaddr_in z
to a my method? 如何将
struct sockaddr_in z
传递给我的方法?
void method(?);
int main(void){
struct sockaddr_in z;
...
}
void method(?){
....
}
What goes in place of "?"? 用什么代替“?”?
Thank you very much! 非常感谢你!
With a pointer, like this: 用一个指针,像这样:
void method(struct sockaddr_in *z);
int main(void){
struct sockaddr_in z;
z.sin_port = 4242;
method(&z);
}
void method(struct sockaddr_in *z){
printf("%i\n", z->sin_port);
}
Passing a struct
by value is perfectly legal in C: 在C中按值传递
struct
是完全合法的:
void func(struct sockaddr_in z);
int main(void)
{
struct sockaddr_in z = {0};
func(z);
}
void func(struct sockaddr_in z)
{
printf("%d\n", z.sin_port);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.