Foros del Web » Programación para mayores de 30 ;) » C/C++ »

A Y U D A!!! Struct, Apuntadores y Funciones

Estas en el tema de A Y U D A!!! Struct, Apuntadores y Funciones en el foro de C/C++ en Foros del Web. Hola, buenos días tengan todos ustedes, agradezco de antemano las molestias que se están tomando al leer este tema Bueno, como verán, soy estudiante de ...
  #1 (permalink)  
Antiguo 04/03/2012, 17:07
 
Fecha de Ingreso: febrero-2012
Mensajes: 56
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta A Y U D A!!! Struct, Apuntadores y Funciones

Hola, buenos días tengan todos ustedes, agradezco de antemano las molestias que se están tomando al leer este tema

Bueno, como verán, soy estudiante de programación, y estoy teniendo ciertos problemillas con algunas funciones del Lenguaje C

Mi problema radica básicamente en las struct's no se usarlas muy bien, entonces me gustaría que me explicaran bien sus modos (o formas) de uso, además, han sido varias veces que veo en algún programa o ejemplo que lo escriben como typedef struct y no entiendo, ¿Cual es la diferencia?¿para que se usa cada uno de ellos?¿en que casos usare struct y typedef struct?

No se si también podrían proporcionarme alguna pagina donde me pueda servir de apoyo y me explique esto bien (aunque prefiero la explicación de ustedes, con su punto de vista) o algún PDF que ustedes hallan empleado para aprender sobre el tema




Aparte, también tengo unos problemas con los apuntadores y las funciones, no se que hacen, para que sirven, en que momentos se usan y cosas de mas, básicamente les pido de favor me expliquen, ejemplifiquen, no se si tengan alguna pagina donde me pueda ayudar a orientarme, o algún archivo. A estos dos no les entiendo nada, así que agradezco su ayuda

Nuevamente les agradezco las atenciones prestadas a este post y gracias por las molestias que se tomaron en responder al tema

SALUDOS
  #2 (permalink)  
Antiguo 04/03/2012, 18:12
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: A Y U D A!!! Struct, Apuntadores y Funciones

Los struct son estructuras sirven para agrupar muchas variables. Puede ser visto como un registro... o podria ser un conjunto de columnas...
Al definir un struct estamos definiendo un tipo de datos no una varaible. Luego podes definir todas las variables que quieras de ese tipo.

struct persona {
int edad;
char nombre[50];
}

En este caso la variable que sea definida sera compuesta. Tendra dos variables adentro.
¿Como definimos una variable de ese tipo?

struct persona Juan;

Ahora podemos manejar esa variable de la siguiente forma:
Juan.edad = 10;


El uso del typedef es crear sinonimos de tipos. Esto se usa para evitar estar escribiendo la palabra struct cada vez que se quiera usar.
Ejemplo

typedef struct {
int edad;
char nombre[50];
} persona;

persona Juan;
Juan.edad = 10;


Espero que te sirva...saludos
  #3 (permalink)  
Antiguo 05/03/2012, 21:41
 
Fecha de Ingreso: febrero-2012
Mensajes: 56
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: A Y U D A!!! Struct, Apuntadores y Funciones

Pues mira, muchas gracias por la ayuda que me estas proporcionando, pero hay ciertas cosas que no me quedaron muy claras

Cita:
struct persona {
int edad;
char nombre[50];
}
-Esta estructura se llama persona?

Cita:
En este caso la variable que sea definida sera compuesta. Tendra dos variables adentro.
¿Como definimos una variable de ese tipo?

struct persona Juan;
- ¿Como? no entendi esto
-¿Porque Juan?



Cita:
persona Juan;
Juan.edad = 10;
-No te entendi como y porque juan, porque nadamas lo pones asi?

nuevamente te vuelvo a agradecer tus atenciones

SALUDOS
  #4 (permalink)  
Antiguo 06/03/2012, 05:06
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: A Y U D A!!! Struct, Apuntadores y Funciones

Porque juan..poruqe el compilador me permite ponerle cualquier nombre a la variable....

Piensa en lo siguientes como defines un entero:
int Numero;

Como defines un caracter:

char c;

Como deines un numero de coma flotante:
float decimales;

Asi se define una estructura creada por el usuario:
struct persona Juan;

Dentro de contexto quedaria asi:

Código C:
Ver original
  1. int main()
  2. {
  3.     int Numero = 15;
  4.     char c;
  5.     float decimal;
  6.     struct persona Juan;
  7.     Juan.edad = Numero;
  8.     return 0;
  9. }
  #5 (permalink)  
Antiguo 06/03/2012, 21:11
 
Fecha de Ingreso: febrero-2012
Mensajes: 56
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: A Y U D A!!! Struct, Apuntadores y Funciones

pero no ahi tu estructura de datos se deberia de llamar persona?

osea, si te entiendo, pones algo como:

int numero;

pero porque:

struct persona juan?

osea, no ahi se llamaria persona? o persona juan? porque esa variable le da el nombre de JUAN?
  #6 (permalink)  
Antiguo 07/03/2012, 05:11
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: A Y U D A!!! Struct, Apuntadores y Funciones

Es un tipo compuesto:
"struct persona" es el tipo....
Juan es el nombre de la variable.

Podria ser:
struct persona p;

Con la definicion del typedef te salvas de poner la palabra struct:
persona p,Juan,varible_del_tipo_persona;

Espero que se entienda.
  #7 (permalink)  
Antiguo 19/03/2012, 16:58
 
Fecha de Ingreso: febrero-2012
Mensajes: 56
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: A Y U D A!!! Struct, Apuntadores y Funciones

Muchisimas gracias sam90

me he leido un libro buenisimo que encontre en mi biblioteca y despues cuando crei que ya tenia los conocimientos, compare mis ideas con lo que tu me escribiste anteriormente y me ha quedado todo claro

GRACIAS

en cuanto a los apuntadores y funciones, tambien ya todo quedo claro
GRACIAS POR SUS ATENCIONES
Saludos
  #8 (permalink)  
Antiguo 23/03/2012, 23:48
Avatar de Tyreal  
Fecha de Ingreso: noviembre-2011
Ubicación: ke-li
Mensajes: 39
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: A Y U D A!!! Struct, Apuntadores y Funciones

olle disculpa si me meto yo tengo esto en mi codigo
struct fecha{
int dia;
int mes;
int anio;
};
printf("\n Ingrese Fecha Del Registro con este formato\n Dia 01, Mes 03, Año 12 \n");
scanf("%d %d %d",&fecha.dia,&fecha.mes,&fecha.anio);

a mi me marca error en e scanf según yo esta bien pero no idea porque me marca
error
  #9 (permalink)  
Antiguo 24/03/2012, 11:27
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: A Y U D A!!! Struct, Apuntadores y Funciones

Hola! el error es xq no podes usar fecha.dia fecha.mes y fechar.anio ya que fecha no es una variable sino es el nombre del tipo de estructura, como dijeron antes struct fecha seria como un "tipo compuesto". Para acceder a los datos dia, mes y anio primero tenes q declarar una varible del tipo struct fecha, ejemplo
Código C:
Ver original
  1. struct fecha{
  2. int dia;
  3. int mes;
  4. int anio;
  5. };
  6.  
  7. struct fecha FECHA; // FECHA es el nombre de la variable
  8. printf("\n Ingrese Fecha Del Registro con este formato\n Dia 01, Mes 03, Año 12 \n");
  9. scanf("%d %d %d",&FECHA.dia,&FECHA.mes,&FECHA.anio);

Saludos

Etiquetas: apuntadores, funciones, struct
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:03.