3 Erklær variable at du vil bruge ved at tilføje følgende kode i toppen af din funktion : Hej
char * buf , * cur_ptr , * temp_ptr ,
char c.
size_t mem_size = 200 ;
size_t mem_used = 0;
4
Kald " malloc "-funktionen til at afsætte en blok af hukommelse, som du kan bruge til at gemme strengen ved at tilføje koden : < br >
buf = ( char * ) malloc ( ( mem_size ) * sizeof (char )),
if ( buf == NULL ) return -1 ;
5
Modtag bruger-input, et tegn ad gangen, indtil en ny linje ( '\\ n' ) tegn eller 200 tegn er indtastet, ved at tilføje koden : Hej
cur_ptr = buf ;
while ( ( c = getchar ( )) = '\\ n' ) {
* cur_ptr + + = c ; !
mem_used + +;
if ( mem_used == mem_size ) break; < br >
}
6
Kald " realloc "-funktionen til at omfordele hukommelse blok , reducere dens størrelse med 2, med følgende kode : Hej
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 ,
}
pointer " buf " peger på starten af "streng" memory blok og " cur_ptr " peger på den aktuelle position , som er i slutningen af "streng ".
7
Ring den "frie " til at frigive hukommelsen blokken for strengen , ellers dit program vil have en hukommelsesfejl , ved at tilføje koden : .
gratis ( bUF ),
8
Gem dit C -fil , kompilere og køre programmet til at udføre den nye streng kode
< br >