Latest web development tutorials

funzioni di libreria C - realloc ()

C libreria standard - <stdlib.h> C libreria standard - <stdlib.h>

descrizione

funzioni di libreria Cvoid * realloc (void * ptr, size_t size) dimensione del blocco di memoria per provare prima di chiamare mallococallocRegolare nuovamentePTRassegnati punti.

dichiarazione

Ecco () funzione di dichiarazione realloc.

void *realloc(void *ptr, size_t size)

parametri

  • PTR - un puntatore a ri-allocare blocco di memoria della memoria prima che il blocco di memoria è allocata la memoria chiamando malloc, calloc o realloc di.Se un puntatore nullo viene assegnato un nuovo blocco di memoria, e la funzione restituisce un puntatore ad esso.
  • Dimensioni - La nuova dimensione del blocco di memoria, in byte.Se la dimensione è 0 e PTR punti a un blocco di memoria esistente, il blocco di memoria puntato da ptr viene rilasciato e restituisce un puntatore nullo.

Valore di ritorno

Questa funzione restituisce un puntatore alla dimensione riallocazione della memoria. Se la richiesta non riesce, restituisce NULL.

Esempi

L'esempio seguente mostra viene utilizzata la funzione realloc ().

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char *str;

   /* 最初的内存分配 */
   str = (char *) malloc(15);
   strcpy(str, "w3cschool");
   printf("String = %s,  Address = %u\n", str, str);

   /* 重新分配内存 */
   str = (char *) realloc(str, 25);
   strcat(str, ".cc");
   printf("String = %s,  Address = %u\n", str, str);

   free(str);
   
   return(0);
}

Facciamo compilare ed eseguire il programma di cui sopra, che si tradurrà in quanto segue:

String = w3cschool, Address = 355090448
String = w3cschool.cc, Address = 355090448

C libreria standard - <stdlib.h> C libreria standard - <stdlib.h>