簡體   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