变量不能用来初始化数组。
因为gb_UsbDir是变量,里面的东西是变化的。编译器无法确定其内容,所以不能初始化。只能在运行时采用strcpy
类似的还有
int n = 10;
int a[n]; <----非法,n为变量 只能使用a = (int*)malloc(n * sizeof(int));
但
#define n 10 (或者const int n = 10)
int a[n];
是可以的,因为此时n是常量
变量不能用来初始化数组。
因为gb_UsbDir是变量,里面的东西是变化的。编译器无法确定其内容,所以不能初始化。只能在运行时采用strcpy
类似的还有
int n = 10;
int a[n]; <----非法,n为变量 只能使用a = (int*)malloc(n * sizeof(int));
但
#define n 10 (或者const int n = 10)
int a[n];
是可以的,因为此时n是常量