https://medium.com/@shafinjunayed954/understanding-memory-addresses-in-c-how-arrays-are-stored-7d68414274b2