let rec array_of typ = 
    debug "[object_array_of] %a" !Ast_printer.d_type typ;
    match  Cil.unrollType typ with
      |  TPtr(typ,_) ->
        begin
          match Cil.unrollType typ with
            | TVoid _ -> make_array (TInt (IChar,[]))
            | t -> make_array (array_of t)
        end
      | _ -> typ