Autor Tema: Avanzar la posicion de un puntero que apunta a un array en C  (Leído 3296 veces)

gatoher

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 86
    • Ver Perfil
Avanzar la posicion de un puntero que apunta a un array en C
« 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.
« Última modificación: 03 de Diciembre 2016, 14:46 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Re:Avanzar la posicion de un puntero que apunta a un array en C
« Respuesta #1 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

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".