> With the former, you tell the C compiler "there's a value in memory somewhere > which is a pointer to a character" > With the latter, you say: "there's a > value somewhere in memory which is a character, and there may be more > characters after it"
Thats both true and not true. In theory arrays in C are a collection of items, but in practice they're almost always implicitly treated as pointers and dereferenced. > And if you try to use the latter in a place where a pointer is expected, the > C compiler implicitly takes the address for you. With the former it simply > reads the value to get the address. Generally its better to think of the array in C as a pointer with some extra syntax. Thats why the Nim output code for `ptr UncheckedArray` would generally function correctly. Heres a good reference for exact behaviors: <https://www.geeksforgeeks.org/difference-pointer-array-c/>
