14-02-2008, 10:38 AM
Also, something I just realized... though I might be wrong. Isn't the MISRA example is using two pointers rather than a pointer and an array?
void my_fn (uint8_t* p1, uint8_t p2[])
p1 is a pointer.
p2 is a pointer.
void func(uint8_t p3[10]);
p3 is pointer.
I believe there are no arrays in either of these examples.
I can't cite ISO-C 1990, but here is from ISO C 1999:
I suppose ISO C 1990 might state this differently, but I very much doubt it.
void my_fn (uint8_t* p1, uint8_t p2[])
p1 is a pointer.
p2 is a pointer.
void func(uint8_t p3[10]);
p3 is pointer.
I believe there are no arrays in either of these examples.
I can't cite ISO-C 1990, but here is from ISO C 1999:
ISO 9899:1999 6.7.5.3 Wrote:7 A declaration of a parameter as ‘‘array of type’’ shall be adjusted to "qualified pointer to type", where the type qualifiers (if any) are those specified within the [ and ] of the array type derivation.
I suppose ISO C 1990 might state this differently, but I very much doubt it.