#include <stdio.h>
int
main()
{
int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int i = 3;
printf("%d\n", i[arr]);
return 0;
}
If you index an integer with an array in C, it gives you the same result as when you index an array with an integer. This is because array indexing is equivalent to pointer arithmetic. i’th member of arr equals to arr plus i equals to i plus arr equals to arr’th member of i.
How is that not a bug in the compiler’s type checking? If the code had been
i[0]instead, it would have (correctly) given asubscripted value is neither array nor pointer nor vectorerror. IMO it should have still done that no matter if the thing inside the subscript was an array, because the type that matters to decide if the subscript operator is even valid to use in the first place is the type of the token to the left of it, not the token inside it!Subscript operator (in C) is just syntac sugar. i[0] fails because you’re dereferencing an integer not because the operator isn’t defined. (also, arrays are just pointers)
In other words: a[b] is just sy tax sugar for *(a+b)
Classic
hewwo!
u have terminal in nvim? how u open terminal ?w? i always have hard time :< so i open new terminal window instead
You can use
:terto open a new terminal buffer in nvim. The window/space management shortcuts for terminal buffers are different, so you may have to look them up.:teropens a terminal buffer. It uses the same modal controls as other vim buffers, so you’ll have to enter insert mode to type. Neovim + Nvchad has its ownnvchad.termmodule that can be customized in the config. You can also press Ctrl+Z while in normal mode to suspend Vim and return to the parent shell, and thefgcommand to reopen the suspended process.



