>>>>> "DL" == Davide Libenzi <davidel@maticad.it> writes: DL> You've a zone in memory that can be seen as "char *" but does DL> not exist a variable that hold such value, so You can't do DL> &... of a thing that does not exist ! To put it another way, the C standard explicitly states that passing an array as an argument causes it to decompose into a pointer to the base of the array - meaning that f(array, &array) is exactly equivalent to f(&array, &array). m.