将指向文字的指针直接传递给函数[复制]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将指向文字的指针直接传递给函数[复制]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

给出以下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中指向常量是不可能的。

UPD:然而似乎有使用a的a trick 结构 复合文字语法(感谢@ antti-haapala进行修正)。试试这个:

calc(&(int)10);

以上是关于将指向文字的指针直接传递给函数[复制]的主要内容,如果未能解决你的问题,请参考以下文章

将指针传递给函数并更改它指向的地址[重复]

向函数中传递指针和传递指针的引用的区别

如何正确地将指针传递给第 3 方代码的成员函数? [复制]

将指向局部变量的指针传递给函数:它安全吗?

将指向外部类模板的成员函数的指针传递给嵌套类

Llvm C++ API 将指向函数的指针传递给另一个函数