https://medium.com/codex/arrays-in-c-a-brief-introduction-and-explanations-with-implementations-9b0387a097c8