| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
kbsinda
Registrado: 05 Nov 2007 Mensajes: 4
| Publicado: 06/11/2007 4:57 pm | | | Título: Duda con punteros |
| Holas amigos tengo una maldita duda porque cuando declaro como puntero a char un arreglo, en cada posicion puedo guardar cadenas aqui esta el ejemplo
| Código: | #include<stdio.h> #include<conio.h> int main() { char *palabra[4]; palabra[0]="Holas"; palabra[1]="a"; palabra[2]="todos"; palabra[3]="ustedes"; printf ("%s %s %s %s", palabra[0], palabra[1], palabra[2], palabra[3]); getch(); return 0; } |
necesito una explicacion recien estoy empezando saludos |
|
| Volver arriba | |
 |
digies
Registrado: 18 Nov 2005 Mensajes: 314 Ubicación: Cono Sur
| Publicado: 06/11/2007 5:06 pm | | | Título: |
| Porque justamente al puntero a char le estás dando 4 posiciones para guardar cadenas.
Un saludo |
|
| Volver arriba | |
 |
spartan117
Registrado: 26 Oct 2005 Mensajes: 43 Ubicación: monterrey
| Publicado: 06/11/2007 7:13 pm | | | Título: |
| hmmm.. pero a donde apunta ese puntero ?
aaah! esto me confunde :s |
|
| Volver arriba | |
 |
|
brito87
Registrado: 04 Nov 2007 Mensajes: 5
| Publicado: 07/11/2007 1:19 am | | | Título: |
| Aunque soi nuevo en esto del C, los punteros los tengo muy bien cojidos, prueba con el mismo codigo pero de esta manera, asi veras donde apuntan.
| Código: | #include<stdio.h> #include<conio.h> int main() { char *palabra[4]; palabra[0]="Holas"; palabra[1]="a"; palabra[2]="todos"; palabra[3]="ustedes"; printf ("%p %p %p %p", palabra[0], palabra[1], palabra[2], palabra[3]);
getch(); return 0; } |
De esta manera veras que lo que acabas de crear es un arrais de punteros, y cada una de sus posiciones contiene la primera posicion de memoria de las cadenas que as declarado.
espero que con esta imagen te aclare un poco la cosa, aunque manejo fatal el paint jejeje 1 saludo.
http://www.subirimagenes.com/imagen-de--1607660.html |
|
| Volver arriba | |
 |
david_celta
Registrado: 02 Jun 2005 Mensajes: 95
| Publicado: 07/11/2007 9:22 pm | | | Título: |
| Porque todo array es practicamente "un puntero"
- Mas especificamente, el primer elemento de todo array es practicamente "un puntero" -
De ahi que yo puedo guardar la cadena "Hola" tanto en una variable
char cadena[5];
como tambien en una variable
char * otra_cadena;
(con la salvedad que para utilizar char* se debe tener mas cuidado)
Ahi se los dejo de tarea
A veces resulta util hacer esto para que sea "un poco mas entendible":
char*cadenas[4];
lo podemos cambiar por
typedef char* string; // cambiamos el nombre del tipo de dato char* string cadena[4];// un arreglo de 4 elementos tipo "string" _________________ Rueda y rueda la vida, rueda y rueda el balón... y detras de la esperanza, palpita cada corazón. |
|
| Volver arriba | |
 |
kbsinda
Registrado: 05 Nov 2007 Mensajes: 4
| Publicado: 09/11/2007 7:26 am | | | Título: |
| bueno, es mas conveniente guardar palabras en un arreglo bidimensional donde cada fila es una palabra o en un arreglo de apuntadores a char donde cada posicion es una palabra?¿?¿?¿
saludos |
|
| Volver arriba | |
 |
|
rir3760

Registrado: 01 Oct 2004 Mensajes: 3770 Ubicación: Mexico
| |
| Volver arriba | |
 |
|
|