Hola. Tengo las siguientes funciones:
Código C:
Ver originalint tam_infijo (char * array){
int cont = 0;
while ( *( array + cont ) != '\0' ){
cont++;
}
return cont - 1;
}
char * scan_infijo (){
char * expresion;
expresion
= (char*) calloc (200, sizeof (char));
fgets (expresion
, 200, stdin
);
realloc (expresion
, sizeof(char) * (tam_infijo
(expresion
) + 1) );
}
Alguien me podría decir que estoy haciendo mal a la hora de llamar a realloc? esque al programa le da igual que escriba:
(tam_infijo (expresion) + 1) que (tam_infijo (expresion) - 2), hace lo mismo...
Tambien me estoy dando cuenta que malloc hace exactamente lo mismo. Da igual si pones (malloc (4)) que malloc (4*sizeof(char)) que lo que sea porque almacena todos los caracteres :S
Un saludo!