O structură de date statică este o structură de date care are o dimensiune fixă, cunoscută la momentul compilării. Aceasta înseamnă că nu poate fi mărită sau micșorată pe parcursul rulării programului. În contrast, o structură de date dinamică poate crește sau scădea la dimensiuni arbitrare pe parcursul rulării programului. Astfel, o structură de date dinamică poate fi mai flexibilă și mai ușor de utilizat în multe aplicații. Totuși, acestea sunt în general mai complexe și mai costisitoare în privința memoriei decât structurile de date statice.