asi no puedes hacerlo ya que no se reconoce el tamaño del array, ni tampoco puedes crear un array sin predefinirlo, es decir int output tendria solo 1 direccion reservada, ademas no podrias usar ese array a no ser que lo declarases estatico puesto que una vez sale de la funcion esa memoria se "borra", yo lo haria asi:
void Destuffing(int *in, int *dest, int size) {
int i,j;
dest[0]= 0x10;
dest[8]=0x10;
dest[9]=0x03;
for(i=1,j=1;i<size-3;i++,j++){
if(array[ i]==0) //no entiendo que pretendes hacer aqui porque estaba mal puesto
{
dest[j]=array[++i];
}
else{
dest[j]=array[ i]; //esto tambien estaba mal, o no entiendo que pretendias
}
}
}
para llamar a la funcion lo tendrias que hacer asi:
Destuffing(&array[0],&temp[0],sizeof(array));
temp seria el destino de la modificacion, o bien declaras un array global como medio temporal, o en la propia funcion, o segun veas tu, recuerda que este array siempre sea IGUAL o MAYOR que el array de entrada, sino obtendras modificaciones en la ram reservada y acabaria siendo un caos.