c - 函数原型(prototype)是否转换您在 C 中的实际参数?

标签 c linux parameters posix keyword

如果您阅读了任何函数的 linux 手册页,并且原型(prototype)对任何形式参数使用了诸如 staticrestrict 之类的关键字,C 编译器是否会自动转换您的 var如果类型仍然匹配?

例如:

函数原型(prototype):int function_name(int* restrict param1, static int param2);

程序:

int *my_var1;
int my_var2;

//initialization
(..)

function_name(my_var1, my_var2);

(..)

在每种情况下,function_name() 是否像使用 restrictstatic 声明的那样转换或处理我的变量,因为类型仍然是一样吗?

最佳答案

单个int 参数不能是static,那是没有意义的。请提供真实的例子,以确保我们谈论的是同一件事。

当谈到restrict时,它用来表示由它限定的指针是唯一指向那个特定对象的指针(或多或少,我在简化)。因此,谈论将指针“转换”为 restrict 是没有意义的,限定符是否真正适用取决于指针的使用方式。

一般情况下,参数将在可能的情况下进行转换以匹配函数的预期。

关于c - 函数原型(prototype)是否转换您在 C 中的实际参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55589759/

相关文章:

c - 如何从 GTK 旋转按钮中检索 float 形式的输入值?

c - 为什么 LLVM 不使用 Xcode 编译 pch 文件中类型定义的 C block ?

linux - 为 map 服务器安装 gd 库时出错

php - Linux 上的 CakePHP 3 和 MSSQL 连接失败

c# - 是否可以使抽象方法的参数列表具有可覆盖的长度和类型?

url - Extjs 4 - 如何从当前加载的网格商店中获取带有参数的完整 url?

c - tcp消息通信

c - 常量的默认类型

linux - 执行 flock 命令时出现错误

ruby-on-rails - Ruby on Rails - 将值传递给 link_to