当我尝试在另一个结构中分配char string_buffer
时,它会显示
错误使用未声明的标识符
我知道这意味着我需要在当前struct
中声明字符串缓冲区,但是没有这样做。
struct ABC{
char string_buffer[64];
};
struct ABC *DEF(char *name){
name = string_buffer;
};
答案 0 :(得分:4)
string_buffer
不是正常变量。它是struct ABC
类型变量的成员变量。你需要有struct ABC
类型的变量然后,你需要使用成员访问操作符(.
或->
)来访问它,比如
struct ABC sample = {0};
.... sample.name //valid access
另外,FWIW,根据您的示例代码,让我告诉您,string_buffer
是一个数组。您不能按照示例代码段中显示的方式分配数组。如果您要复制内容,则需要使用strcpy()
。