Come creare una serie di stringhe usando Malloc nella programmazione C

Come creare una serie di stringhe usando Malloc nella programmazione C

Il linguaggio di programmazione C è uno dei famosi linguaggi strutturati che include molti componenti di base e gli array sono uno di questi. Gli array sono indicati come una raccolta di tipi simili di elementi memorizzati in blocchi di memoria contigui. Questi sono di due tipi: array statico e array dinamico. Nell'array statico, la dimensione dell'array è fissata. Ma in un array dinamico, la memoria viene assegnata dinamicamente.

Questo post dimostrerà:

  • Prerequisito: installa C compilatore
  • Cosa è "Malloc ()"Nella programmazione C?
  • Come creare una serie di stringhe usando "Malloc ()"Nella programmazione C?

Prerequisito: installa C compilatore

Il compilatore C viene utilizzato per trasformare il codice sorgente in codice binario o oggetto o per eseguire il programma C. Pertanto, per installare il compilatore C su Windows, visitare il nostro altro articolo dedicato.

Cos'è "Malloc ()" nella programmazione C?

L'array nella programmazione C ha una dimensione definita. Tuttavia, occasionalmente la dimensione dell'array può essere insufficiente o eccessiva, il che spreca la memoria. Per superare le limitazioni dell'array, gli sviluppatori utilizzano diverse funzioni per allocare la memoria dinamicamente all'array. Varie funzioni della libreria C, come Free (), Calloc (), Realloc () e Malloc (), vengono utilizzate per assegnare la memoria dinamicamente. Più specificamente, il malloc () è una funzione di allocazione della memoria utilizzata per riservare la memoria per un numero specificato di byte.

Sintassi

Pointer = (Cast-Type*) Malloc (dimensione del byte)

Come creare una serie di stringhe usando "Malloc ()" nella programmazione C?

Per creare una serie di stringhe e assegnargli un blocco di memoria tramite "Malloc ()"Funzione, guarda l'esempio fornito.

Passaggio 1: creare una matrice di stringa usando la funzione "Malloc ()"

Per creare una serie di stringhe utilizzando la funzione della libreria standard C "Malloc ()", Innanzitutto, apri l'editor di codice Visual Studio su Windows e incolla il codice fornito in un file di programma con il".C"Estensione:

#includere
#includere
#includere
int main (vuoto)

dimensione int, i;
printf ("Digitare la dimensione dell'array: \ n");
scanf ("%d", e dimensioni);
char *str_array [dimensione];
char array_i [size];
printf ("Immettere le stringhe: \ n");
per (i = 0; i
scanf ("%s", array_i);
str_array [i] = (char*) malloc (strlen (array_i)*sizeof (char));
strcpy (str_array [i], array_i);

printf ("Le tue stringhe erano: \ n");
per (i = 0; i
printf ("%s \ n", str_array [i]);

restituzione 0;

La descrizione del codice sopra menzionato è riportata di seguito:

  • IL "H"La libreria viene utilizzata per l'allocazione della memoria, il"corda.H"È utilizzato per eseguire l'operazione relativa alla manipolazione delle stringhe e"stdio.H"Viene utilizzato per includere il flusso di input/output.
  • Successivamente, abbiamo definito il "int main (vuoto)"Per dichiarare la funzione senza alcun argomento. Qui, il "vuoto"Il parametro specifica che non è richiesto alcun valore di restituzione.
  • Quindi, abbiamo dichiarato due variabili. IL "misurare"Viene utilizzato per ottenere il numero totale di voci di stringa e"io"È usato per l'iterazione del ciclo. Entrambe le variabili sono di "int" tipo di dati.
  • IL "scanf"Viene utilizzato per ottenere o leggere il flusso di input dalla tastiera.
  • Quindi, abbiamo inizializzato due array di "CHAR" tipo. Il primo array è un array puntatore usato per puntare e archiviare le stringhe. Il secondo array è semplice "CHAR"Array usato in"Malloc"Funzione per accettare una stringa dall'utente.
  • IL "strcpy"La funzione viene utilizzata per copiare la stringa. È incluso nel programma tramite "H" biblioteca.
  • Abbiamo applicato il “Malloc ()"Funzione di"CHAR*"Tipo cast. È usato per allocare la memoria dinamicamente. IL "Malloc ()"La funzione moltiplica la dimensione del carattere per un numero di byte di carattere per allocare sufficienti blocchi di memoria.
  • L'array di puntatore "str_array [i]"Viene utilizzato per puntare e conservare le stringhe nell'array.
  • Infine, il "per"Loop è usato per iterare l'array. Successivamente, abbiamo stampato l'array usando il "printf" funzione.

Passaggio 2: Open Terminal

Quindi, avvia il terminale dalla barra dei menu di Visual Studio:

Passaggio 3: Programma di compilazione C

Successivamente, utilizza il “GCC"Compilatore C per compilare il programma usando il comando menzionato:

> GCC Malloc.C

Qui, "Malloc.C"È il programma C per il quale abbiamo fornito istruzioni nel passaggio 1:

In tal modo, il compilatore creerà un file eseguibile per eseguire il programma C come mostrato di seguito:

Passaggio 4: eseguire il programma compilato

Successivamente, esegui il programma C eseguendo il "UN.exe" file:

> ./UN.exe

Si può osservare che abbiamo creato con successo una serie dinamica di stringhe usando il "Malloc ()" funzione.

Conclusione

Per creare una serie di stringhe usando il "Malloc ()"C funzione standard, prima crea un semplice programma C e dichiara due array, uno dei quali è un array di punta. Dopodiché, utilizza il "Malloc ()"Funzione usando il"puntatore-array = (cast-type*) malloc (input-array*dimensione di char)"Sintassi. Quindi, copiare gli array di stringa usando "strcpy" funzione. Questo post ha dimostrato il metodo per la creazione di un array di stringhe usando "Malloc ()"Nella programmazione C.