Hi,
If you want to have the address after the testar array you must declare ptestar as a pointer to a pointer to int (as it is really the address of an array of 3 ints...): However, there is two things to note about your code:- If you follow strictly the C standard, your C program is not standard compliant, as pointer arithmetic is restricted to stay inside a single C object, while you code use pointer arithmetic to point to a integer array located after the testar object
- If you want to be clearer that what follows testar is not another integer array, you may devlare ptestar as a pointer to void:
- Obviously, the testar declaration must be an array definition that provides the compiler with the size of the array; it cannot be an external declaration of a variable size array as, in this case, the compiler will not have any way, at compile time, to know the size of the array: it will only be known at link time, too late for the compiler to use it.
Hope this helps,
Bernard (Ac6)