パズルのような C コードがいくつかあります。このコードを使用する理由として、struct
オブジェクトがヒープまたはスタックで終了しているかどうかをどのように判断できるか疑問に思っています。
オブジェクトはまたはで作成されていません。彼らは配列の形で人生を始めます。この記事では、構造体 Emp を呼び出します。malloc
calloc
Emp myEmp[6];
/* Each myEmp[?] item is populated in code */
オブジェクトはさまざまな方法でソートおよび操作され、ある時点でオブジェクトがコピーされ、配列ポインターに渡されます。コピーは を介して行われmemcpy
ます。次に、オブジェクトは次のように配置されますEmp* emps_a[6]
。
オブジェクトはコピーから取得され、上記の emps_a に割り当てられます。
int i;
for( i = 0; i < n; i++ )
{
emps_a[i] = myEmpsCopy + i;
}
これの一部または一部が私の質問に関係しているかどうかはわかりません。私は free() を必要としたり、メモリをクリーンアップしたりする必要はありません... 残念ながら、私は C についてあまり知りません。
助けていただければ幸いです。