Lo de poner nombres con prefijos dependiendo del tipo que sean, a mi personalmente no me gusta, porque nunca me acuerdo del nombre entero de la variable y se me hace muy largo escribirlo, pero weno
No, el casting del malloc no da warning, pero otras funciones que necesitan castings a char* o cosas asi, si lo dan
Con el casting en el malloc, consigues que (por ejemplo) el DDD te muestre el tipo de dato bien, porque DDD no sabe mostrar el contenido de un puntero void, en cambio, si le dices que es char* te lo pone dabuti