有没有办法在C中初始化指向数组的指针(在同一行)

art*_*rxe 1 c arrays pointers

我有以下行(在C中):

char *tmp;
Run Code Online (Sandbox Code Playgroud)

现在,我希望将该变量tmp初始化为我的代码中的某些指针(下面几行),然后将其初始化为数组.

有没有办法分配到tmp堆栈上新创建的数组的指针,而不创建另一个变量?所以,而不是:

char arr[10];
tmp = arr;
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

tmp = char[10];
Run Code Online (Sandbox Code Playgroud)

可能在C中有类似的东西吗?如果是的话,你能举个例子吗?

Gra*_*and 9

您可以使用复合文字功能这样做:

tmp = (char[]){'a', 'b', 'c'};
Run Code Online (Sandbox Code Playgroud)