/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Duda con punteros

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
kbsinda



Registrado: 05 Nov 2007
Mensajes: 4

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 11/11/2007 9:17 am
Título:

Dos temas de interes sobre la relacion entre arrays y punteros:

Acerca de scanf y gets en Estructuras.
De la relación entre punteros y arrays.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com