SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: crocop en Sábado 18 de Octubre de 2008, 22:12

Título: Duda sobre punteros
Publicado por: crocop en Sábado 18 de Octubre de 2008, 22:12
hola tengo esta duda es pequeña

Lo importante es notar el uso de punteros, no es lo mismo:

*k++;

Que:

(*k)++;



alquien me puede explicar porque no es lo mismo? .

saludos gracias por los aportes
Título: Re: Duda sobre punteros
Publicado por: m0skit0 en Sábado 18 de Octubre de 2008, 23:20
No has definido qué es k... ¿es un puntero?
Título: Re: Duda sobre punteros
Publicado por: Eternal Idol en Sábado 18 de Octubre de 2008, 23:35
El primero incrementa k y el segundo incrementa *k.

Código: Text
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4. void main()
  5. {
  6.   int x[] = { 0, 1 };
  7.   int *k = (int*)&x;
  8.   printf("k:: 0x%xrn", k);
  9.   *k++;
  10.   printf("k:: 0x%xrn", k);
  11.  
  12.   printf("x[0] %drn", x[0]);
  13.   printf("x[1] %drn", x[1]);
  14.  
  15.   getchar();
  16.  
  17.   k = (int*)&x;
  18.   printf("k:: 0x%xrn", k);
  19.   (*k)++;
  20.   printf("k:: 0x%xrn", k);
  21.  
  22.   printf("x[0] %drn", x[0]);
  23.   printf("x[1] %drn", x[1]);
  24. }
  25.  
Título: Re: Duda sobre punteros
Publicado por: ProfesorX en Domingo 19 de Octubre de 2008, 00:01
Bueno, como bien menciona m0skit0, suponiendo que k fuera un apuntador.

*k++ incrementa el apuntador para que apunte a la siguiente posicion de memoria
(*k)++ incrementa el contenido de la posicion de memoria a la que apunta k.
Título: Re: Duda sobre punteros
Publicado por: ProfesorX en Domingo 19 de Octubre de 2008, 00:02
mmm, tanto dilate en poner la respuesta (me hablaron por tel cuando estaba constestando), que me la gano Eternal Idol, ni modos, asi es esto, jejeje :P

Saludos :hola: