I have a function with a book struct array, but when i try to return it to my main it does not return the values and store them in the array. If the addBook function has to be void how would i work around that so that i can access the array elements later.

```
void addBook(struct Book book[], int *size) {

    if (*size == MAX_BOOKS) {
        printf("The inventory is full\n");

    }
    else {

        printf("ISBN:");
        scanf("%d", &book[*size]._isbn);
        printf("Title:");
        scanf("%s", book[*size]._title);
        getchar();
        printf("Year:");
        scanf("%d", &book[*size]._year);
        printf("Price:");
        scanf("%f", &book[*size]._price);
        printf("Quantity:");
        scanf("%d", &book[*size]._qty);
        *size++;
        printf("The book is successfully added to the inventory.\n");
    }
    return book;
}

int main(void) {

    struct Book book[MAX_BOOKS];
    int size = 0;
    int i;
    int option;

    printf("Welcome to the Book Store\n");
    printf("=========================\n");

    do {
        menu();
        printf("Select: ");
        scanf("%d", &option);

        switch (option) {

        case 0:
            printf("Goodbye!\n");
            break;
        case 1:
            displayInventory(book, size);
            break;
        case 2:
            addBook(book, &size);
            break;
        case 3:
            //checkPrice();
            break;
        default:
            printf("Invalid input, try again:\n");
        }
    } while (option != 0);
}

```