3 ms·
They’re not pointers. sizeof a == 4*sizeof(int), not sizeof(int*).
by yakubin 4y ago
They’re not pointers. sizeof a == 4*sizeof(int), not sizeof(int*).
- chipsa 4y agoThey're pointers, just weird ones. The compiler knows it's an array, so it gives the result of the actual amount of space it takes up. If you passed it into a function, and used the sizeof operator in the function, it'd give `sizeof(int *)`. Because sizeof is a compile-time operation, so the compiler still knows that info for your example.
- yakubin 4y agoThat jest means it decays into a pointer after being passed as a function argument. In the example given however it’s not a pointer. Just like it wouldn’t be inside a struct.