给定以下C代码:
void calc(int *value)
{
// do something with value
}
int main(void)
{
int i;
i = 10;
calc(&i);
}
能否不设置i
直接将10
传递给函数calc
? 如果可以,如何实现?
以下是我想到的示例(但不起作用):
calc( (int *) 10);
给定以下C代码:
void calc(int *value)
{
// do something with value
}
int main(void)
{
int i;
i = 10;
calc(&i);
}
能否不设置i
直接将10
传递给函数calc
? 如果可以,如何实现?
以下是我想到的示例(但不起作用):
calc( (int *) 10);
在 C 语言中,指针指向常量是不可能的。
更新: 然而似乎有 一个技巧 可以通过使用 结构体 复合字面量 语法来实现(感谢 @antti-haapala 的更正)。请尝试以下代码:
calc(&(int){10});
(int){ 5 } = 6;
。 - Alex Celeste
calc
可以改成只需要一个int
吗? - edtheprogrammerguy