A ver si me podéis ayudar, que me estoy comiendo la cabeza con una práctica, y como no puedo probarlo (no tengo gcc en mi ordenador). Os voy a poner en situación:
char *mapa; /*VARIABLE GLOBAL*/
funcion{
mapa = (char*)malloc(elementos); /*Reserva espacio en memoria*/
if(rellena(8,(char *)mapa,elementos)<0){
return -1; /*Supuestamente rellena datos en mapa, es una función que te dan ellos */
}
otrafuncion{
mapa[i]='1';
}
La duda es en otra función, es decir, partimos de un puntero a char sin inicializar, se le reserva memoria en la primera función. Y además se carga datos (eso está correcto casi al 99%, fijo xD), pero lo de otrafuncion no lo veo sentido, ya que no sé si es la forma correcta de acceder al contenido de un elemento de mapa y ponerle el valor de 1. Es un problema de conocimientos sobre punteros, nada más. :S
Otra cosa, si hago:
char valor = mapa[3];
Supuestamente le paso el contenido del vector a valor, pero al ser creado inicialmente como puntero, me entra dudas porque no lo he visto en ninguna parte que se pueda hacer esto. Sí, también aparece como pseudocódigo esto.

A ver si vosotros que sabéis más me lo podéis resolver. Gracias.