c语言 - 结构指针未按预期保存字符数组


typedef struct _Text { 
char *str; 
int length; 
int counter; 
} *Text;

int main(void) {
Text txt= malloc(sizeof(Text));
char *txtStr="hi";
txt->str=txtStr;
return 0;
}

结构体没有按预期工作,检查时没有正确保存给定的字符数组。

typedef struct Text { 
char *str; 
int length; 
int counter; 
} Text;

最好读

int main(void) {
Text *txt = malloc( sizeof( Text ));

txt->str = malloc( sizeof( char ) *3);
strcpy( txt->str, "hi" );
printf("%sn", txt->str );

return 0;
}

也在UPV中?我认识到这种类型,因为我也在为明天的作业而挣扎。我问了Oscar,他告诉我你需要在类的构造函数中为结构分配内存空间。他甚至给我提供了一些示例代码,但我还没有设法使它工作。