最初に、間違いなくこの情報が SO に存在するため、申し訳ありませんが、追跡に問題があります。
私がやりたいポインターマジックに頭を悩ませようとしています(そして失敗しています)。実行時に、繰り返し処理できる構造体の「配列」を作成したいと考えています。
typedef struct {
int length;
const char* location;
} receipt_info;
void testA()
{
receipt_info *receipts;
testB(&receipts);
printf("Receipt 0 length: %i\n", receipts[0].length); // Displays valid value
printf("Receipt 1 length: %i\n", receipts[1].length); // Displays invalid value
}
void testB(receipt_info **info)
{
*info = malloc(sizeof(receipt_info) * 2);
info[0]->length = 100;
info[1]->length = 200;
}
この例では、2 にハードコーディングしましたが、IRL は外部要因によって決定されます。
ここで私は何をすべきですか?