Since C99 we have four types of array parameters:
[]
[assignment-expression]
[static assignment-expression]
[*]
But what is their meaning? They're all compatible, they all decay to pointers anyway. Only to [static assignment-expression] does the
standard give a little bit of extra formal meaning, by making it UB
when a too-short array is passed.
They exist, they are different types, but the standard does not give
them meaning (with the exception noted above). So people using them
must have a motivation beyond what is explicitly stated in the
standard, and thus an idea of what the meaning of these would or
should be.
Philipp
Since C99 we have four types of array parameters:
[]
[assignment-expression]
[static assignment-expression]
[*]
But what is their meaning? They're all compatible, they all decay to
pointers anyway. Only to [static assignment-expression] does the
standard give a little bit of extra formal meaning, by making it UB
when a too-short array is passed.
They exist, they are different types, but the standard does not give
them meaning (with the exception noted above). So people using them
must have a motivation beyond what is explicitly stated in the
standard, and thus an idea of what the meaning of these would or
should be.
Since C99 we have four types of array parameters:
[]
[assignment-expression]
[static assignment-expression]
[*]
But what is their meaning? They're all compatible, they all decay to pointers anyway. Only to [static assignment-expression] does the
standard give a little bit of extra formal meaning, by making it UB when
a too-short array is passed.
They exist, they are different types, but the standard does not give
them meaning (with the exception noted above). So people using them must have a motivation beyond what is explicitly stated in the standard, and
thus an idea of what the meaning of these would or should be.
AFAICS there are two essentially different cases: normal arrays,
that decay to pointers and VMT-s which preserve information about
array size.
They exist, they are different types, but the standard does not give
them meaning (with the exception noted above). So people using them must have a motivation beyond what is explicitly stated in the standard, and
thus an idea of what the meaning of these would or should be.
Since C99 we have four types of array parameters:
[]
[assignment-expression]
[static assignment-expression]
[*]
But what is their meaning? They're all compatible, they all decay to pointers anyway. Only to [static assignment-expression] does the
standard give a little bit of extra formal meaning, by making it UB when
a too-short array is passed.
They exist, they are different types, but the standard does not give
them meaning (with the exception noted above). So people using them must have a motivation beyond what is explicitly stated in the standard, and
thus an idea of what the meaning of these would or should be.
Philipp
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,089 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 153:54:20 |
| Calls: | 13,921 |
| Calls today: | 2 |
| Files: | 187,021 |
| D/L today: |
3,760 files (944M bytes) |
| Messages: | 2,457,163 |