重複の可能性:
配列に動的メモリ割り当てを使用する
私はもともと、このプログラムを数量サイズ 10 の価格で販売していましたが、ある時点で 10 個を超えるアイテムを保管する必要がある可能性があるため、プログラムをより動的にしたいと考えました。必要な量のアイテムを保存できるように、追加のメモリを再割り当てする方法を理解するのに苦労しています。これは、このタスクを処理する正しい方法ですか?
主な機能:
double *purchases = (double*)malloc(QUANTITY_SIZE);
外部関数
double startShopping(double *purchases, double *taxAmount, double *subTotal, double *totalPrice)
{
double itemPrice = 0.00;
double* storeMoreItems;
for(int i = 0; i < QUANTITY_SIZE; *subTotal +=purchases[i++])
{
while(itemPrice != -1)
{
printf("Enter the price of the item :");
scanf("%lf", &itemPrice);
storeMoreItems = (double*)realloc(storeMoreItems, i * sizeof(int));
if(storeMoreItems != NULL)
{
storeMoreItems = purchases;
purchases[i-1] = itemPrice;
}
else
{
free(purchases);
}
}
}
displayCart(purchases);
*taxAmount = *subTotal * TAX_AMOUNT;
*totalPrice = *taxAmount + *subTotal;
printf("\nTotal comes to : $%.2lf\n", *totalPrice);
return *totalPrice;
}