在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。
我想知道是否可以给数组赋予 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。