Ok, dopo qualche ricerca sull'allocazione dinamica ho risolto così:
Sembra che funzioni correttamente ma se qualcuno potesse provare e dirmi se effettivamente va sarebbe meglio... solo una cosa, ora come faccio a liberare la memoria allocata da malloc quando non serve più? Ricordo che era una cosa che andava fatta ma la procedura nella mia testa è molto nebulosacodice:#include <stdio.h> #include <string.h> int main() { int i; //contatore int dim_vett; //dimensione del vettore int dim_string = 20; char **stringhe; char string; printf("Inserisci il numero di elementi su cui lavorare: "); scanf("%d", &dim_vett); printf("%d", dim_vett); stringhe = (char**)malloc(sizeof(char**) * dim_vett); //genera il vettore che conterrà le stringhe for (i=0; i < dim_vett; i++) { stringhe[i]= (char*)malloc(sizeof(char *) * dim_string); printf("\nInserisci la %da stringa da ricercare: ", i+1); scanf("%s", &string); strcpy(stringhe[i], &string); } for (i=0; i < dim_vett; i++) { printf("%s ", stringhe[i]); } return 0; }![]()

Rispondi quotando