this post was submitted on 08 Mar 2024
334 points (99.7% liked)
196
17027 readers
874 users here now
Be sure to follow the rule before you head out.
Rule: You must post before you leave.
If you have any questions, feel free to contact us on our matrix channel.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The reason for the convention is that it used to be just a pointer (adress) to consecutive elements in memory. A[x] is then literally translated to the adress of A + sizeof(x)*x. Meaning that the first element is at A[0].
I mean, it's still the case under the hood, and languages like C do work that way. Sure, it's abstracted away in most programming languages these days, but if you ever need to do direct memory management, it's very much still how it works.