c - 为什么 pipe() 采用数组而不是指向两个整数的指针?
问题描述
pipe() 函数的签名为int pipe(int fildes[2])
. 使用该filedes
参数,因此函数可以返回两个整数(其中filedes[0]
设置为管道读取端的文件描述符,以及filedes[1]
管道的写入端)。
我试图弄清楚为什么这个 API 被设计成一个指向数组的指针,而不是像这样的两个指针:int pipe(int *read, int *write)
. 似乎使用指向数组的指针比使用两个不同的指针更容易出错,而且如果两个给定的整数在内存中不相邻,它也无法使用。
pipe()
API 的设计方式是否有特定原因?
解决方案
推荐阅读
- javascript - 如何将选定的索引数据分配给我的工具提示数据?
- swift - Swift 4.2 Setter Getter, All paths through this function will call itself
- sql-server - 在 sql server db 上引入延迟以测试 API 中的超时
- uuid - Longest Version 4 GUID
- sql - MS Access:查询以列出一系列文件夹中的文件数
- laravel - PHPUNIT 测试 - 预期状态 200 但收到 500
- python - 覆盆子主机名更改但不是真的
- javascript - 如果输入字符串有任何参数,Faker.fake() 不起作用
- firebase - Firestore 导入 - 没有错误,但没有更改
- c# - 如何将 XSD 转换为 C#,包括 XSD 中的注释?