Question: Design a `Record` structure that can handle variable-length data entries, where each entry consists of a key (string) and a value (string). The structure should contain a pointer to a dynamically allocated array of key-value pairs. Implement a C program that:
→ Allows adding, modifying, and deleting key-value pairs in the record.
→ Supports searching for a key and returning the corresponding value.
→ Implements efficient memory management by resizing the array as entries are added or removed.
→ Discuss the challenges and benefits of using this approach in a real-time system with constrained memory resources.