Als Datensegment bezeichnet man den Teil von Objektdateien oder eines laufenden Prozesses, in dem globale und statische Variablen abgelegt sind. Diese Variablen müssen beim Start des Programms bereits im Speicher vorhanden und initialisiert sein, außerdem ist ihr Speicherplatzbedarf bereits zur Übersetzungszeit bekannt. Daher wird bereits beim Übersetzen ein Datenblock erstellt, der später als Teil des Programms beim Starten in den Speicher geladen und sofort verwendet werden kann. Manchmal werden Daten-, BSS-, Stack-, und Heap-Bereiche gemeinsam als „Datensegment“ bezeichnet.