Case in point, you didn't start with C. If you are trying to learn programming *AND* learn C *AND* learn memory management, you're going to get extremely frustrated very quicklyYou need memory on the heap, you malloc it. You're done with it, you free it. You guessed wrong, you realloc it. I don't see what's so hard about that.
Knowing when you need dynamic vs static allocations, and knowing when to use pointers, etc can be painful for first time programmers.