3 ms·
They are pretty much everywhere when statically allocated.
by filmor 3y ago
They are pretty much everywhere when statically allocated.
- zabzonk 3y agowell, not in c.
- Kamq 3y agoI believe they are in C, but arrays degrade to pointers when you look at them wrong, and _those_ don't have length as part of their type. At least I'm seeing: `array type 'int[3]'` in messages when I tried to do something wrong with it quick to get an error message (using llvm), maybe that's a compiler specific thing.
- zabzonk 3y ago> when you look at them wrong no, almost whenever you look at them. it is very hard to carry around the size of an array in C. > At least I'm seeing: `array type 'int[3]'` in messages when I tried to do something wrong with it quick to get an error message (using llvm), maybe that's a compiler specific thing. post some code that illustrates what you are talking about
- Kamq 3y agoI was trying to get clang to throw an error that included type information to double check what it thought the type was. Quickest thing I could think of was trying to assign to an array. The exact error in question was: error: array type 'int[3]' is not assignable Which seems to imply that clang is considering the length to be part of the type. edit: You asked for code (my apologies that it's rather trivial). int x[3] = {1, 2, 3}; int y[3]; y = x;
- filmor 3y agoEven in C, citing the standard (6.2.4, 20): > Array types are characterized by their element type and by the number of elements in the array.