Cの単一リンクリストに基づくデータベースの作成に問題があります。 は、リンクリストの概念ではなく、構造体自体の文字列フィールドのためです。Cの構造体で文字列フィールドを操作するには?
これはCでの割り当てであり、私が知っている限り(私は初心者です)、Cは 'string'をデータ型として認識しません。
これは私の構造体のコードは次のようになります。
私はこのように、構造体にそれらを使用できるように、私は、文字列自身のための構造体を作ることを考えていたtypedef struct
{
int number;
string name;
string address;
string birthdate;
char gender;
} patient;
typedef struct llist
{
patient num;
struct llist *next;
} list;
:
typedef struct string
{
char *text;
} *string;
次に、文字列型(charの配列)の新しいデータを作成する必要がある場合は、それぞれmalloc()
とします。
typedef struct string
{
char *text;
} *string;
int main()
{
int length = 50;
string s = (string) malloc(sizeof string);
s->text = (char *) malloc(len * sizeof char);
strcpy(s->text, patient.name->text);
}
誰かが私にこれを理解させる手助けができますか?
ありがとうございます。
mallocを使用している間は、型キャストしないでください(http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc/605858#605858)。 –
「患者」はグローバルに宣言されていません。それは型定義です。しかし、グローバルであったとしても、このように初期化することはできません。 – kralyk
@kralyk - 正しい、私はそれを自分で実現し、修正しました。 – Attila