elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  arreglo de cadenas con memoria dinamica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: arreglo de cadenas con memoria dinamica  (Leído 2,277 veces)
wolftdark

Desconectado Desconectado

Mensajes: 2


Ver Perfil
arreglo de cadenas con memoria dinamica
« en: 7 Julio 2015, 00:06 am »

hola he probado hacer un arreglo de apuntadores que apuntan a un arreglo de cadenas pero al momento de usar la función realloc para reservar mas memoria dinamicamente algo falla bueno falla al imprimir las cadenas por alguna razón se pierden las primeras cadenas
aqui mi codigo

Código:
#include <stdio.h>
int main(){
    char ** M;
    int i = 0,n,N=0;
   
    char cad[30]={};
   
    M = (char **)malloc(sizeof(char *));
   
    do{
       printf("Cadena: ");
       gets(cad);
       n = strlen(cad)+1;
       *(M+i) = (char *)malloc(n*sizeof(char));
       strcpy(*(M+i),cad);
       i++;
       N++;
       M = (char **)realloc(M,sizeof(char*));
    }while(cad[0]!='\0');
    i = 0;
    do{
        puts(*(M+i));
        i++;
    }while(i<N);
   
    getch();
    return 0;
}


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: arreglo de cadenas con memoria dinamica
« Respuesta #1 en: 7 Julio 2015, 01:47 am »

realloc() lo que hace es volver a coger una zona de memoria de X tamaño, y copiar lo que había en la anterior. Ahí, el tamaño que le pasas a realloc es siempre sizeof(char*), así que nunca cambia. Tal vez quisieras poner sizeof(char*)*(i+1).


En línea

wolftdark

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: arreglo de cadenas con memoria dinamica
« Respuesta #2 en: 7 Julio 2015, 03:30 am »

muchisimas gracias me sirvió tu ayuda
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema leyendo cadenas con memoria dinamica [solucionado]
Programación C/C++
dato000 9 7,213 Último mensaje 24 Enero 2014, 18:37 pm
por dato000
Arreglo con memoria dinámica en lenguaje C. « 1 2 »
Programación C/C++
NOB2014 14 5,303 Último mensaje 26 Mayo 2016, 03:11 am
por NOB2014
Concatenar cadenas con memoria dinámica en lenguaje C.
Programación C/C++
NOB2014 3 4,592 Último mensaje 19 Junio 2016, 19:22 pm
por AlbertoBSD
Ayuda, arreglo de 15 cadenas con C++
Programación C/C++
Kali94 2 1,917 Último mensaje 27 Julio 2016, 00:51 am
por Kali94
Arreglo de cadenas con memoria dinámica (realloc) lenguaje C.
Programación C/C++
NOB2014 9 7,337 Último mensaje 4 Octubre 2016, 17:42 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines