I managed to "solve this issue", but I don't know why I get the problem I get.
Right after the last line I also got a segmentation fault, which I failed to include in the above screenshot. My question is, is why don't I need to multiply i by sizeof(DATA_TYPE), so that I can traverse through the correct number of bytes.
Redoing this program without the sizeof operation, I get the results I want: Sans segfault, as well.
Very similar code also works for traversing through a char array, no need to use the sizeof function. My question is why? Does the compiler know that since I'm manipulating a DATA_TYPE array that I need to traverse by Y number of bytes?