> ## Content Index
> Fetch the complete content index at: https://developerinsider.co/llms.txt
> Use this file to discover other available public pages before exploring further.

# Why in C language is it the case that a[5] == 5[a]?
- URL: https://developerinsider.co/why-in-c-language-is-it-the-case-that-a-5-5-a/
- Published: 2016-05-18T14:39:11.000Z
- Updated: 2026-10-10T07:05:27.000Z
- Author: Vineet Choudhary
- Tags: Primary, C Programming, Interview

The C standard defines the Array Subscript Operator \[\] as follows:

```
a[b] == *(a + b)

```

Therefore a\[5\] will evaluate to:

```
*(a + 5)

```

and 5\[a\] will evaluate to:

```
*(5 + a)

```

and from elementary math we know those are equal.

This is the direct artifact of arrays behaving as pointers, "a" is a memory address. "a\[5\]" is the value that's 5 elements further from "a". The address of this element is "a + 5". This is equal to offset "a" from "5" elements at the beginning of the address space (5 + a).

[Click here to learn more about C and C++](https://developerinsider.co/c-and-cpp-insider)