私はそうのような構造体要素上のmemsetを使用しようとしている:struct要素にmemsetを使用する適切な方法は何ですか?
memset(&targs[i]->cs, 0, sizeof(xcpu));
はしかし、そうすることは私にセグメンテーションフォールトを与えます。私はこれがなぜ失敗しているのか、それをどのように働かせることができないのか理解もしていない。 構造体の要素にmemsetを使用する適切な方法は何ですか?なぜ私のメソッドは機能しませんか? targsにメモリを割り当て
ライン:構造体素子Cs(xcpu_context)と構造体targsため
eargs **targs = (eargs **) malloc(p * sizeof(eargs *));
構造体の定義(execute_args):
typedef struct xcpu_context {
unsigned char *memory;
unsigned short regs[X_MAX_REGS];
unsigned short pc;
unsigned short state;
unsigned short itr;
unsigned short id;
unsigned short num;
} xcpu;
typedef struct execute_args {
int ticks;
int quantum;
xcpu cs;
} eargs;
Cプログラムで 'malloc()'の戻り値をキャストしないでください。 –
* targsを初期化するコードはどこですか? –
@HansPassant - そこにはない、おそらくそれが問題だ。 –