据我了解,我正在将变量a的地址传递给函数int ffx1

之后,这行p = (int[2]){*p};到底是什么意思?

int ffx1(int * p)
{
    p = (int[2]){*p};
    return(p[1]);
}

int main()
{
    int a = 1;
    a = ffx1(&a);
    printf("%d", a);

   return 0;
}

最佳答案

它是指向复合文字的指针。

C11-§6.5.2.5复合文字(p9):

关于c - C指针中的 "p = (int[2]){*p};"行是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47041388/

10-11 22:44
查看更多