1. ホーム
  2. C language

Cエラー:構造体でも組合でもないものにメンバ 'xxx' を要求しています。

2022-02-14 07:53:32

Cエラー: 構造体または組合でないものに含まれるメンバー 'xxx' のリクエスト

本日、C言語のプログラムをコンパイルしたところ、構造体変数に対してError: request for member 'xxx' in something not structure or unionというエラーが報告されました。

デバッグの結果、それは . -> が間違っていた。

アドレスの場合は、その後に -> を、住所でない場合は、その後に .

コードの例を以下に略記する。

#include <stdio.h>

#include <string.h>

typedef struct Test_t

{ <未定義

  char name[20]です。

  int age

}Test_s;

void test(Test_s* mytest)

{ <未定義

  char* ptr = "hello"。

  memcpy(mytest->name, ptr, strlen(ptr)); //mytest は構造体ポインタなので、変数を参照するには "structure pointer name->member variable name" を使用します。

  mytest->age = 20;

}

int main()

{ <未定義

  テスト_s ttです。

  int ret = 0;

  memset(tt, 0, sizeof(tt));

  test(&tt)です。

  printf("Name:%sn", tt.name); //tt は構造体変数なので、変数を参照するには "struct name.member variable" を使用します。

  printf("Age:%dn",tt.age);

  retを返します。

}

から取得した。 https://www.cnblogs.com/annie-fun/p/6369872.html