Cエラー:構造体でも組合でもないものにメンバ 'xxx' を要求しています。
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を返します。
}
関連
-
エラー LNK2005: _main は first.obj で既に定義されています。
-
Cプログラムの単純なエラー [エラー] ldは1終了ステータスを返した
-
エラーが発生しました。#79: 型指定子が必要です
-
エラーが発生しました。#852: 式は完全なオブジェクト型へのポインタでなければならない
-
free(): 次のサイズが無効 (fast): 0x0000000000aa4430 問題あり
-
struct と typedef struct を徹底的に理解する
-
Cコンパイル警告:代入がキャストなしで整数からポインタを作成する
-
c 言語エラー警告: 複数文字文字定数
-
C C++プログラムのランタイムプログラムは、書き込みエラーのためにDebug/1.exeを開くことができません。
-
警告: 非推奨の文字列定数から 'char *' への変換[-Write-strings] 解決法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン