如何在一行代码中初始化一个指向整数数组的指针?

时间:2017-10-27 13:01:51

标签: c

使用以下代码初始化指向整数的指针:

int a[] = {1,2,3};
int * p= a;

我的问题是为什么下面的单行不起作用,如果有另一种方式。

int *p = &{1,2,3};

注意:关于代码的最佳效果或最佳可读版本,此问题。这只是为什么一个非常相似的代码无法正常工作。

1 个答案:

答案 0 :(得分:2)

绝对没有理由不像你已经做的那样在2行代码中做到这一点。它清晰可读。

如果你必须为了它而复杂化,你可以写一个复合文字

int* p = (int[]){1,2,3};

这将产生与您已有的代码完全相同的机器代码,因此没有版本比另一个更好。