Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: gatoher en 22 de Noviembre 2016, 19:06

Título: Avanzar la posicion de un puntero que apunta a un array en C
Publicado por: gatoher en 22 de Noviembre 2016, 19:06
Estoy probando un código y no me funciona os lo pongo:

Código: [Seleccionar]
funcion_rellenaVector( int n_elem, int* vector){

int i;
  for ( i=0; i<n_elem; i++ ){
  //vector[i] = 0; //si funciona
*(vector++)= 0;//Avanzamos la posicion del vector, pero no funciona
printf("Vector: %d \n\n", vector[i]);
}
}

main{
int otro_vector [100];

  /* rellena los elems. del 150 al 199 */
  rellena_de_ceros ( 50, otro_vector+150 );
}
}

¿Que esta mal en esa linea,? Como ++ tiene más preferencia que * lo he puesto asi, pero no me funciona.
Título: Re:Avanzar la posicion de un puntero que apunta a un array en C
Publicado por: Ogramar en 03 de Diciembre 2016, 14:46
Buenas

Después de crear un puntero, no es habitual modificarlo con ++ para así introducir datos. De hecho, un dato puede ocupar varios bits, de modo que con ++ no estarías accediendo al siguiente dato, sino a una posición intermedia entre dos datos. Después de creado el puntero para el array lo más habitual es tener un acceso directo vector = valor que quieres introducir;

Salu2