static Token *make_token(Token *tmpl) {
Token *r = malloc(sizeof(Token));
*r = *tmpl;
r->hideset = NULL;
File *f = current_file();
r->file = f;
r->line = pos.line;
r->column = pos.column;
r->count = f->ntok++;
return r;
}
* rにメモリを割り当てます。そして、それを* tmplと同じにします。私は、メモリが割り当てられた場所が上書きされたと仮定します。説明してください。このスニペットでは、メモリ割り当ては役に立ちますか?私はそれが* tmplによって上書きされたと思いますか?
メモリ割り当てのヘルプは* * *ですか? –
それはうまく見えます。 '* r = * tmpl'を使うと、' tmpl 'で指されている構造体*を 'r'で指し示すメモリ*にコピーします。 –
'r = tmpl;'であれば上書きされます –