• macniel@feddit.de
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    No. We count start at zero because the array already starts with an element of a specific size. Starting at 1 would always skip that initial element.

    • CanadaPlus@futurology.today
      cake
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      1 year ago

      You could have “empty arrays” in a language if you wanted. The real reason is that you start with an offset of zero as you read an array from memory at hardware level, and so this way address is just “start address + element size * element number”.

    • BorgDrone@lemmy.one
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      1 year ago

      No, we start counting at one. We start indexing at zero.

      An array with one element has an element count of 1, and that element would be at index 0.