Problema con asignacion de memoria dinamica
Hola tengo problemas con el siguiente codigo de asignación dinamica. Si alguien puede indicarme donde está el error se lo agradecerÃa:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main ()
{
int i, lon;
char **vector;
char palabra[15];
vector=(char**)malloc(sizeof(char*));
gets(palabra);
lon=strlen(palabra)+1;
vector[0]=(char*)malloc(lon*sizeof(char));
strcpy(vector[0], palabra);
puts(vector[0]);
for (i=1;i<3;i++)
{
gets(palabra);
lon=strlen(palabra)+1;
vector=(char**)realloc(vector,i*sizeof(char*));
vector[i]=(char*)malloc(lon*sizeof(char));
strcpy(vector[i], palabra);
puts(vector[i]);
}
for (i=0;i<10;i++)
{
puts(vector[i]);
}
return 0;
}
Graciñas
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main ()
{
int i, lon;
char **vector;
char palabra[15];
vector=(char**)malloc(sizeof(char*));
gets(palabra);
lon=strlen(palabra)+1;
vector[0]=(char*)malloc(lon*sizeof(char));
strcpy(vector[0], palabra);
puts(vector[0]);
for (i=1;i<3;i++)
{
gets(palabra);
lon=strlen(palabra)+1;
vector=(char**)realloc(vector,i*sizeof(char*));
vector[i]=(char*)malloc(lon*sizeof(char));
strcpy(vector[i], palabra);
puts(vector[i]);
}
for (i=0;i<10;i++)
{
puts(vector[i]);
}
return 0;
}
Graciñas
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main () {
int i, lon;
char **vector;
char palabra[15];
vector = (char**) malloc (sizeof(char*));
gets(palabra);
lon=strlen(palabra)+1;
vector[0]=(char*)malloc(lon*sizeof(char));
strcpy(vector[0], palabra);
puts(vector[0]);
for (i=1;i<3;i++) {
gets(palabra);
lon = strlen(palabra)+1;
vector=(char**)realloc(vector,(i+1)*sizeof(char*));
vector[i]=(char*)malloc(lon*sizeof(char));
strcpy(vector[i], palabra);
puts(vector[i]);
}
for (i=0;i<3;i++) {
puts(vector[i]);
free(vector[i]);
}
free(vector);
return 0;
}
#include <stdlib.h>
#include <string.h>
int main () {
int i, lon;
char **vector;
char palabra[15];
vector = (char**) malloc (sizeof(char*));
gets(palabra);
lon=strlen(palabra)+1;
vector[0]=(char*)malloc(lon*sizeof(char));
strcpy(vector[0], palabra);
puts(vector[0]);
for (i=1;i<3;i++) {
gets(palabra);
lon = strlen(palabra)+1;
vector=(char**)realloc(vector,(i+1)*sizeof(char*));
vector[i]=(char*)malloc(lon*sizeof(char));
strcpy(vector[i], palabra);
puts(vector[i]);
}
for (i=0;i<3;i++) {
puts(vector[i]);
free(vector[i]);
}
free(vector);
return 0;
}
