值-结果参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值-结果参数相关的知识,希望对你有一定的参考价值。

当往一个套接字函数传递一个套接字地址结构时,该结构总是以引用形式来传递,也就是说传递的是指向该结构的一个指针。

该结构的长度也作为一个参数来传递,不过其传递方式取决于该结构的传递方向:进程->内核    内核->进程

1)进程->内核 传递套接字地址结构的函数有3个:bind、connect、sendto

这些函数的一个参数是指向某个套接字地址结构的指针,另一个参数是该结构的整数大小

2)内核->进程 传递套接字地址结构的函数有4个:accept、recvfrom、getsockname、getpeername

这4个函数的其中2个参数是指向某个套接字地址结构的指针和指向表示该结构大小的整数变量的指针

 

把套接字地址结构大小这个参数从一个整数改变为指向某个整数变量的指针,其原因:

当函数被调用时,结构大小是一个值(value),它告诉内核该结构的大小,这样内核在写该结构时不至于越界;

当函数返回时,结构大小又是一个结果(result),它告诉进程内核在该结构体究竟存储了多少信息。

 

 

这种类型的参数称为:值-结果参数

以上是关于值-结果参数的主要内容,如果未能解决你的问题,请参考以下文章

request接收不存在的参数会是啥结果

MySQL 结果集 - 未为参数 1 指定值

BigQuery 结果为 iOS 设备的事件的参数值显示“null”,但在 DebugView 中填充

07_函数进阶

loadrunner-获取返回值和自定义参数(参数运算)

函数的格式