You suggested to use following declaration:
unsigned char *BottleInventory = 0;
BottleInventory = malloc(SIZEOFDATA);
memset(BottleInventory, 0, SIZEOFDATA);
BottleInventory is a class that has an array and other members.
The class itself has variable that returns instance of this class:
//
// Declare a single instance of bottle inventory and an accessor to return it
//
BottleInventory TheBottleInventory;
BottleInventory * Inventory() { return &TheBottleInventory; }
This instance is the one that causes zeroes in the .bss section and has size = 00522F7A.
Do you think I should declare it as:
BottleInventory TheBottleInventory = malloc(sizeof(BottleInventory));
memset(TheBottleInventory,0,sizeof(BottleInventory));
Please advise.