gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:32:43 26 4
gpt4 key购买 nike

如果您阅读了任何函数的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com