[C con Clase] duda con punteros
Davidson, Steven
srd4121 en njit.edu
Mie Abr 17 20:20:37 CEST 2013
Hola Fanatidark,
2013/4/17 fanatidark <pandoras_box_789 en hotmail.com>
> mi duda es lo siguente no se vien si esta bien escrito lo de abajo lo que
> trata de hacer cuando pongo p=palabra es que el puntero señale a el primer
> espacio de palabra esta bien escrito??
>
>
Con "espacio", sospecho que quieres decir: elemento. Al escribir,
p = palabra;
ciertamente 'p' está apuntando al primer elemento del array, 'palabra'.
Podríamos reescribir la asignación así:
p = &palabra[0];
Accedemos al primer elemento: 'palabra[0]', y luego obtenemos su dirección
de memoria con el operador, &.
Ambas expresiones son iguales, aunque obviamente, la segunda expresión
requiere 2 operaciones más que la primera.
2.-como hago pra que tro puntero señale a otro espacio del array??
>
Haces exactamente lo mismo que con el puntero anterior; por ejemplo,
p2 = &palabra[5];
o incluso,
p2 = palabra + 5;
3.-suponiendo que tengo un bucle que hace el el puntero cambie al siguiente
> espacio del array como seria seria (p++)o (*p)
>
>
Necesitas entender qué hace cada operador para poder elegir el que
necesitas. Analizando tu pregunta, realmente quieres que el puntero apunte
a otro lugar. Esto implica que queremos manipular el puntero en sí, y no lo
que está siendo apuntado. Por lo tanto, quieres hacer un incremento al
puntero; esto es,
p++;
o incluso,
++p;
según convenga.
4.- y comomodifico lo que esta apuntado el puntero en el array???
>
>
Dicho lo anterior, necesitas acceder al valor apuntado a través del
puntero. Por lo tanto, usamos el operador *; esto es, *p. Por ejemplo,
*p = 'H';
Sugiero que consultes el capítulo 12 de nuestro curso de C++ en nuestra
página; puedes dirigirte a:
http://c.conclase.net/curso/index.php?cap=012#inicio
Espero que esto aclare las dudas.
Steven
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130417/4a80e95e/attachment.html>
Más información sobre la lista de distribución Cconclase