3 Declare las variables que va a utilizar , añadiendo el siguiente código en la parte superior de su función :
char * buf, cur_ptr * , * temp_ptr ;
char c ;
mem_size size_t = 200 ;
size_t mem_used = 0 ;
4
llamar a la función " malloc " para asignar un bloque de memoria que se puede utilizar para almacenar la cadena , con el código :
buf = (char *) malloc ( ( mem_size ) * sizeof (char ));
if ( buf == NULL ) return -1 ;
5
Recibir la entrada del usuario , un carácter a la vez, hasta que haya introducido un carácter de nueva línea ('\\ n ') o 200 caracteres , con el código :
cur_ptr = buf ;
while (( c = getchar ()) = ' \\ n' ) {
* cur_ptr + + = c ; !
mem_used + + ;
if ( mem_used == mem_size ) break; < br >
}
6
llamar a la función " realloc " para reasignar el bloque de memoria , lo que reduce su tamaño por 2, con el siguiente código :
if ( mem_used > 2 ) {
mem_size - = 2 ;
temp_ptr = realloc ( buf, mem_size ) ;
if ( temp_ptr == NULL ) return -1 ;
< p > buf = temp_ptr ;
cur_ptr = buf + mem_used ;
}
el puntero puntos " buf " al comienzo del bloque de memoria " cadena" y " cur_ptr " apunta a la posición actual , que es el fin de la " cadena ".
7
llamar a la función "libre " para liberar el bloque de memoria para la cadena , de lo contrario el programa tendrá una pérdida de memoria , con el código : .
libre (buf ) ;
8
Guarde el archivo C, compilar y ejecutar el programa para ejecutar el nuevo código de cadena