c - C 中的输入/输出变量

标签 c

<分区>

假设您在 C 中有一个初始化指针的函数:

void initialize(Pointer * p);

我会说参数 p 是一个 [out] 参数。

然后我们有一个获取 p 并对其进行操作的函数。

void manipulate(Pointer * p)

现在我怀疑 p 是 [out] 还是 [in/out]。

我会说 [out] 因为我们只是操纵它。 我会说 [in/out] 因为进来的东西已经被初始化了。

我想知道哪个是真的?

最佳答案

声明中没有任何内容表明这一点。唯一真正的决定是函数中的代码做了什么。

在更现代的实现中,const 关键字可用于指示只读参数:

void manipulate(const Pointer * p)

这表示*p不能在函数内部赋值,所以是只读(或in)类型。但是,如果缺少 const,它仍然是只读的。

关于c - C 中的输入/输出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13561108/

相关文章:

c - C中的括号怎么写?

c - Objective-C 全局整数数组未按预期工作

c - 运算符前面的点在 C 中是什么意思?

c - fgets 无限循环终止

c - `__attribute__((destructor))` 在某些情况下无法运行?

c - xcb_poll_for_event,这个函数如何返回错误?

c - C中的预增量操作

c - 从另一个结构访问结构数据

c - C代码的用户界面

c - 如何在C中正确分割?