Autor Tema: C avanzado structs, punteros, listas enlazadas, memoria.... LenguajeC CU00553F  (Leído 3483 veces)

Pandemia

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 255
    • Ver Perfil
Buenas noches amigos os dejo una posible solución al ejercicio CU00553F del curso Aprende a programar en C desde cero....

EJERCICIO
Citar

a) Busca información sobre qué es un struct en programación C. Explica el concepto tratando de poner un ejemplo de la vida real de algo que pueda ser similar a un struct en programación.


struc: es el nombre reservado que le indica al compilador que se va a definir una estructura.

  Bueno, la función de una estructura es agilizar y ordenar un poco mas todos los datos a la hora de resolver un problema, es muy útil cuando vas a usar muchas variables y de esta manera se trabaja mucho mas ordenado ya que puedes clasificar todas las variables en diferentes grupos y trabajar mas cómodamente. A la hora de usar un vector o un arreglo, es mucho mas fácil usar una estructura.

Una definición mas completa seria:
Una estructura es un conjunto de datos, posiblemente de tipos diferentes, agrupadas bajo un mismo nombre, para hacer más eficiente su manejo.

Las estructuras ayudan a organizar datos complicados, particularmente en programas grandes, ya que permiten tratar como una unidad a un conjunto de variables relacionadas, en lugar de tratarlas como entidades independientes.

Un buen criterio de uso de estructuras establece que la definición de una estructura debe ir acompañada por la definición de un conjunto de funciones que se encargan de realizar la manipulación directa de la nueva entidad creada.

Un ejemplo seria:

struct reloj{
int horas;
permitiránt minutos;
hacia int segundos;
}: //fin de estructura

Por poner un ejemplo en la vida real, podría ser tener una tienda con tu propia marca, que vendría a ser el nombre del struc o estructura y los objetos que vendes las variables   



Citar
b) Busca información sobre qué es un puntero en programación. Explica el concepto tratando de poner un ejemplo de la vida real de algo que pueda ser similar a un puntero en programación.

Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene al dato en un arreglo. Ésto quiere decir, que el puntero apunta al espacio físico donde está el dato o la variable. Un puntero puede apuntar a un objeto de cualquier tipo, como por ejemplo, a una estructura o una función. Los punteros se pueden utilizar para referencia y manipular estructuras de datos, para referenciar bloques de memoria asignados dinamicamente y para proveer el paso de argumentos por referencias en las llamadas a funciones.

Muchas de las funciones estandares de C, trabajan con punteros, como es el caso del scanf o strcpy. Estas reciben o devuelve un valor que es un puntero. Por Ej. A scanf se le pasa la dirección de memoria del dato a leer (esto es un puntero)...

char *a;
scanf ("%c",a);

Para explicar lo que sería en la vida  real un puntero,  si tienes un barco , pero lo tienes en el remolque del coche, hasta que no lo pongas en el agua no podrás disfrutar de el, es decir apuntará al agua.

Quisiera agradecer a todo el  mundo que me ha ayudado a realizar este curso ya sea mediante consejos, corrección de ejercicios y demás y por el tiempo y la paciencia que me habéis  dedicado. Sin vosotros no habría sido posible.....

MIL GRACIAS Y NOS VEMOS EN EL SIGUIENTE CURSO.
Y por supuesto ayudaré a los demás en la medida que sea posible, gracias de nuevo....

Saludos  :D 
« Última modificación: 05 de Agosto 2016, 14:44 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Buenas tardes, enhorabuena por la terminación del curso. Como sabes, agradecemos que quienes terminan los cursos ayuden a las personas que están empezándolos, espero que nos vayas echando una mano en los foros para esto.

Sobre las respuestas algunos consejos:

Escribir siempre struct en lugar de struc

El ejemplo del reloj supongo que debería ser:

struct reloj{
int horas;
int minutos;
int segundos;
}; //fin de estructura

El concepto de puntero es más complejo que lo explicado, si continuas estudiando programación irás aprendiendo sobre ellos a medida que te sean necesarios.

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".