struct Data1
{
int Key; // 4 bytes
int Foo; // 4 bytes
int Bar; // 4 bytes
};
struct BTreeNode
{
int NumKeys; // num keys in this node
Data1 Keys[MAX_KEYS]; // key is in a struct
BTreeNode *Children[MAX_CHILDREN]; // "pointers" to children
};
Calculations:
4096 (page size) - 4 (NumKeys) - 4 (First left pointer) = 4088 4088 / 16 (Data + right pointer) = 255.5 = 255 keys/data per page