void print(part *item, int part_count) {
int i=0;
for (i=0; i<part_count; i++) {
printf("Item number: %d\n", i + 1);
printf("Item name: %s\n", item[i].name);
printf("Item price: $%f\n", item[i].price);
printf("Item quantity: %d\n", item[i].quantity);
}
}
Я хочу напечатать массив структур, созданных с помощью другой функции. Я посмотрел, но еще не нашел другого способа напечатать их или что я делаю неправильно в заявлениях печати. Моя программа компилируется, но вылетает при запуске.
хорошо, хорошо, что проблема не в этих утверждениях. Это меня расстраивало. вот функция добавления.
void add(part *item, int *part_count)
{
if (!item)
{
item = malloc(sizeof(part));
}
item = realloc(item, sizeof(part) * *part_count + 1);
item[*part_count].name = malloc(sizeof(char)*64); // max of 64 characters
printf("Please enter item name: ");
scanf("%65s", item[*part_count].name);
printf("Please enter item price: ");
scanf("%f", &item[*part_count].price);
printf("Please enter item quantity: ");
scanf("%d", &item[*part_count].quantity);
*part_count = *part_count+ 1;
}