繁体   English   中英

在结构中使用字符串或指向字符串的指针

[英]Using strings or pointers to strings in struct

我想我错过了一些关键的东西,我找不到答案。 如果我想在结构中使用字符串,最好使用 char arrays 还是指向它们的指针? 以下代码按预期工作,但会引发警告“警告 C4047 'function': 'const char ' 在间接级别上与 'char ( )[3] 不同”

与以下结构定义一起使用时

typedef struct element {
    char name[20];
    char symb[3];
    double wt;
}element;

并遵循创建元素的过程

element e;
char name[20];
char symbol[3];
scanf("%s %s %lf", &name, &symbol, &e.wt);
strcpy(&e.name, &name);
strcpy(&e.symb, &symbol);

检查数据类型。

改变

 strcpy(&e.name, &name);

 strcpy(e.name, name);

scanf("%s %s %lf", &name, &symbol, &e.wt);

scanf("%s %s %lf", name, symbol, &e.wt);

也就是说,最好使用fgets()来获取用户输入。 如果必须使用scanf() ,则必须在使用扫描值之前检查scanf()调用是否成功。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM