PHP Code:
/*
*
* Allocazione dinamica di stringhe in un vettore dinamico
*
*/
#include <st***.h>
#include <stdlib.h>
#define BUFF_SIZE 100
#define BUFF_SIZE_S "99"
int main (void) {
int n,i,j;
char * p_temp;
char ** vet;
char vet_char[BUFF_SIZE];
/////////////////////////////////////////////////// contiamo gli elmenti e allochiamo spazio
printf("Numero elementi array :\n");
scanf("%d",&n);
vet = (char **) malloc (n * sizeof(void *));
for(i=0;i<n;i++){
////////////////////////////////////////////inseriamo la stringa nel buffer
printf ("Inserire la %d stringa :\n",i+1);
scanf("%" BUFF_SIZE_S "s",vet_char);
///////////////////////////////////////////// determino lunghezza stringa buffer
for (j=0;vet_char[j]!=0;j++){
}
///////////////////////////////////////////// alloco lo spazio necessario per cp in memoria
p_temp= (char *) malloc ( (i+1) * sizeof(char));
//////////////////////////////////////////// copia in corso
for (j=0;vet_char[j]!=0;j++){
*(p_temp + j) = vet_char[j];
}
*(p_temp + j) = vet_char[j];
//////////////////////////////////////////link del puntatore vet alla stringa allocata
*(vet+i)=p_temp;
}
printf("Stringhe inserite :\n");
if (n==0){
printf("Nessun dato inserito\n");
}else{
for(i=0;i<n;i++){
printf("%s\n",*(vet+i));
}
}
return 0;
}