这个问题在这里已有答案:
给出以下C代码:
void calc(int *value) { // do something with value } int main(void) { int i; i = 10; calc(&i); }
是否有可能摆脱设置i并直接通过10功能calc?如果是,怎么办呢?
i
10
calc
我的想法(不起作用)的例子:
calc( (int *) 10);
不,在C中指向常量是不可能的。
UPD:然而似乎有使用a的a trick 结构 复合文字语法(感谢@ antti-haapala进行修正)。试试这个:
calc(&(int){10});