在c中重命名数组

Rename arrays in c

我想知道是否可以给数组赋予 c 别名。我的第一次尝试是这样的:

#define string char[]

但这当然行不通,因为 c 中的数组定义如下:

 char test[] = ""; //Correct
 char[] test = ""; //Wrong

您是否知道解决此问题的方法,或者这在标准 c 中是不可能的? 提前致谢!

您可以使用 typedef.

typedef char string[];
string a = "abcd";

然而,它远非完美。定义变量时不能在没有初始化器的情况下使用它。以下将不起作用。

string b;

添加到@RSahu 的答案中,对类型使用 #define 是危险的。例如:

#define STRING char *
STRING a, b;

有关详细信息,请参阅 this answer