SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: player_ en Domingo 27 de Septiembre de 2009, 22:13

Título: array y puntero
Publicado por: player_ en Domingo 27 de Septiembre de 2009, 22:13
Tenemos un array

int array[3] = {10, 20, 30};

para acceder al primer elemento mediante un puntero podemos acceder como *array, pero como accederiamos al segundo y tercero mediante un puntero?

Gracias.
Título: Re: array y puntero
Publicado por: player_ en Domingo 27 de Septiembre de 2009, 22:36
Bueno ya no hace falta, sería *(array+1) para el segundo elemento y así sucesivamente
Título: Re: array y puntero
Publicado por: Luciano9 en Domingo 27 de Septiembre de 2009, 22:45
int *array[3];

array++ o array-- aumenta o disminuye el puntero.
Título: Re: array y puntero
Publicado por: m0skit0 en Lunes 28 de Septiembre de 2009, 11:19
Cita de: "Luciano9"
int *array[3];
Ejem, no. Eso es un array de punteros a enteros.

De todas formas, si usas un array, usa índices (array[0], array[1]...) que para eso están, para simplificar el asunto  ^_^
Título: Re: array y puntero
Publicado por: Luciano9 en Lunes 28 de Septiembre de 2009, 15:15
Bue no sería algo asi?:

int array[30];

int *p=array;

y asi, no puedo estar tan equivocado...
Título: Re: array y puntero
Publicado por: m0skit0 en Lunes 28 de Septiembre de 2009, 16:14
Sí, así sí, que no es lo mismo que lo de antes. Pero puedes usar la misma variable array  ;)

Código: C
  1. int array[3] = {10, 20, 30};
  2.  
  3. printf("%d", *array);
  4. printf("%d", *(++array));
  5.  
Resumiendo, en C, los vectores (arreglos, matrices, arrays...) son simplemente punteros. Lo puedes comprobar con:

Código: C
  1. printf("0x%x", (int)array);
  2.  
¡Saludos!