Hola! Tengo un problema con unos punteros. Quiero pasar a una función un puntero a un doble puntero sin inicializar y dos cadenas de texto. Y en esa función me reserve espacio en la matriz de manera dinámica y me asigne esas cadenas, pero me tira un fallo de acceso de memoria al acceder al segundo miembro del array. Aquí el código:
Código (c) [Seleccionar]
void copia(char *destino,char *origen){
int i=0;
for(i=0;origen[i]!='\0';i++)
destino[i] = origen[i];
destino[i]='\0';
}
void funcion(char ***arg1, char *arg2, char *arg3){
*arg1= (char **)malloc(2*(sizeof(char *)));
*arg1[0] = (char *)malloc(5*sizeof(char)); //"HOLA\0"
*arg1[1] = (char *)malloc(6*sizeof(char)); //"ADIOS\0"
copia(*arg1[0],"HOLA");
copia(*arg1[1],"ADIOS");
}
int main(){
char **ptr;
funcion(&ptr,"HOLA", "ADIOS");
printf("%s",ptr[0]);
printf("%s",ptr[1]);
}