bueno aqui te dejo un ejemplo que hice basdo en tu programita, veras que imprimo las direcciones de memoria para que te des una idea de como se manejan:
Código c:
Ver original#include <stdio.h>
#include <string.h>
#define MAX 5
#define CARACTERES 50
int main (void){
char *espacio;
char *nombreequipos[MAX];
char nombre[CARACTERES];
int cont=0;
espacio
= malloc(CARACTERES
* MAX
* sizeof(char));
while(cont < MAX){
nombreequipos[cont] = espacio + CARACTERES * cont;
printf("direccion[%d]: %dh\n", cont
, nombreequipos
[cont
]); cont++;
}
printf("\n\nObteniendo nombres..\n"); cont = 0;
while (cont < MAX){
printf("direccion[%d]: %dh\n", cont
, nombreequipos
[cont
]); bzero((char *)&nombre, sizeof(nombre));
printf( "Escribe un nombre: " ); gets(nombreequipos
[cont
]); cont++;
}
cont = 0;
while(cont < MAX ){
printf("nombre[%i]: %s\n", cont
, nombreequipos
[cont
]); cont ++;
}
}
My salida
Código:
direccion[0]: 167997448h
direccion[1]: 167997498h
direccion[2]: 167997548h
direccion[3]: 167997598h
direccion[4]: 167997648h
Obteniendo nombres..
direccion[0]: 167997448h
Escribe un nombre: Espero esto
direccion[1]: 167997498h
Escribe un nombre: te
direccion[2]: 167997548h
Escribe un nombre: haya sido
direccion[3]: 167997598h
Escribe un nombre: de mucha
direccion[4]: 167997648h
Escribe un nombre: ayuda
nombre[0]: Espero esto
nombre[1]: te
nombre[2]: haya sido
nombre[3]: de mucha
nombre[4]: ayuda