我在做一个工作,我得到了一些 "string "typedef的代码交给我,让我更容易使用字符串,但现在我对代码的理解和它的工作原理有一些问题,你们能帮帮我吗?
//----------- THIS IS THE CODE HANDED TO ME -----------------------------
#define MAX_STRING 256
#define MAX_STRING_VECTOR 1024
typedef char String[MAX_STRING];
typedef String StringVector[MAX_STRING_VECTOR];
//----------- THIS IS THE CODE I WROTE -----------------------------
StringVector strV;
String str;
*str = "Hello";
*(strV) = str;
它显示的错误是 "赋值给具有数组类型的表达式"。
谢谢你们!
在C语法中,不允许将一个数组的 char
诸如 str
在这里,除了初始化之外,用一个字符串字面。
而不是使用 strcpy
将一个字符串分配给一个数组。对于初始化 str
由 Hello
使用 String str = "Hello";
.
例如::
StringVector strV;
String str = "Hello";
strcpy(*strV, str);
或者如果 str
是不需要的。
StringVector strV;
strcpy(*strV, "Hello");
注意: strcpy()
是在头文件中声明的 <string.h>
.