Hello, Array: malloc, free and Manual Bookkeeping
The article discusses the challenges of managing dynamic arrays in C programming. It emphasizes the importance of bookkeeping for memory management, particularly when using malloc to allocate memory on the heap. The author introduces a simple dynamic array structure that tracks the size and capacity of the array to prevent memory-related bugs.
- ▪Dynamic arrays in C cannot be resized once allocated on the stack.
- ▪The malloc function allows for dynamic memory allocation on the heap, but requires manual bookkeeping.
- ▪A metadata struct is essential for tracking the size and capacity of a dynamic array.
Opening excerpt (first ~120 words) tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 3957976) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } Pablo GS Posted on May 29 • Originally published at pablogs.dev Hello, Array: malloc, free and Manual Bookkeeping #c #programming #tutorial #computerscience Post 1 of the Dynamic Arrays in C series · Full source code The Problem No One Starts With You have five integers. You put them in an array: int numbers[5] = {10, 20, 30, 40, 50}; Enter fullscreen mode Exit fullscreen mode Done. C gives you a contiguous chunk of 20 bytes on the stack, indexed from 0 to 4, and life is good.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV.to (Top).