C/Visual C - ejemplo practico con malloc

   
Vista:

ejemplo practico con malloc

Publicado por carlos (63 intervenciones) el 26/08/2017 20:24:53
Total que vengo con otro ejemplo del libro que tengo que no funciona:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
struct jugador_baloncesto
{
	char nombre[25];
	int edad;
	float altura;
};
void mayor_edad(){
 
	struct jugador_baloncesto *p_jugador;
	p_jugador =(struct jugador_baloncesto *) malloc (sizeof (struct jugador_baloncesto));
 p_jugador->edad=18;
}
void main(){
	struct jugador_baloncesto pivot ={ "romay",29,2.12};
	printf("%d",mayor_edad()->edad);
	}

Los errores que me dicen son los void (que los cambie por int y funcionan) y que mayor_edad()->edad no es un puntero

¿Como resuelvo esto? porque dentro de mayor_edad esta puesto el puntero de la estructura *p_jugador y pero el problema parece del printf
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ejemplo practico con malloc

Publicado por Chema (234 intervenciones) el 26/08/2017 21:02:29
Cambia de libro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por carlos (63 intervenciones) el 26/08/2017 22:58:17
Lo he cambiado 3 veces y a diferencia de los dos primeros este es comprado fisico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por Chema (234 intervenciones) el 27/08/2017 19:44:39
Me consta tu interés es aprender C. Si no dominas la lengua Inglesa tienen un problema. La literatura sobre C en español , si es de autores españoles mejor no leerlos, si son libros traducidos, las traducciones son pésimas. Olvida los libros sobre C escritos en Español.

Mejor que libros. puede recoger trabajos y ejercicios de universidades de habla española, eso te bastaría para aprender a moverte en C, pero no para ser un buen programador .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por Thanatos (20 intervenciones) el 26/08/2017 22:50:33
Si la función main no tiene parámetros, como en el caso del código que publicaste, debería verse así:
1
2
3
4
int main(void) {
    // instrucciones
    return 0;
}

La función devuelve un valor de tipo entero, por eso se escribe int antes del identificador o nombre de la función.

La palabra reservada void (vacío), indica que la función main no tiene parámetros.

El valor luego de la palabra reservada return es el entero que devuelve la función. El valor cero indica que el programa terminó su ejecución correctamente, también se puede reemplazar el cero por EXIT_SUCCESS.
No es obligatorio escribir return 0; o return EXIT_SUCCESS; al final de la función main si antes del nombre de la función ya se ha especificado que devuelve int, pero es recomendable hacerlo.

Los libros que muestran la función main escrita de alguna de estas maneras:

1
2
3
main() {
    // instrucciones
}

1
2
3
void main() {
    // instrucciones
}

Normalmente son antiguos y no utilizan las normas actuales del lenguaje. Esto no quiere decir que todo el contenido de esos libros sea inservible, pero si se compilan los ejemplos que contienen como están escritos, no es raro que un compilador moderno muestre mensajes de advertencia e incluso algún error.

El estándar más reciente del lenguaje C es del año 2011, por lo que sería mejor que utilices un libro que sea de ese año o posterior, para que no tengas problemas al compilar los ejemplos.


El código que publicaste, no tiene sentido como ejemplo:

En la función main:
Línea 18:
Se ha creado la variable pivot de tipo struct jugador_baloncesto y no se ha utilizado en ninguna otra parte del código.

Línea 19:
Se está intentando usar la función mayor_edad(), como si devolviera algún valor, pero esa función devuelve void, es decir, no devuelve ningún valor. Para utilizar el operador -> la función mayor_edad() debería devolver un puntero, en este caso un puntero que apunte a un dato de tipo struct jugador_baloncesto.

Si se utilizan las instrucciones malloc o calloc para reservar memoria, al terminar de utilizarla, se debe liberar la memoria con la función free(puntero).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por carlos (63 intervenciones) el 26/08/2017 23:01:51
Me buscare un libro del 2011 entonces a ver si tengo suerte o 2017

Gracias a ver si con eso no doy tantos problemas

¿Alguna recomendacion de libro? todos me datan antiguos(los que tengo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por carlos (63 intervenciones) el 27/08/2017 01:59:46
Una cosa mas cuando me piden para manejar datos en los ejercicios a que se refiere por ejemplo

escribe el codigo correspondiente a una estructura que permita manejar los siguientes datos sobre sus coches:
su potencia,consumo,presion de neumaticos,año de fabricacion

Es que entiendo como me la plantean y como lo tengo que hacer pero no lo de permita manejar los datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por Diego (150 intervenciones) el 27/08/2017 16:54:51
En este caso "manejar datos" se refiere a que los datos de los autos puedan ser alterados por el usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

ejemplo practico con malloc

Publicado por carlos (63 intervenciones) el 27/08/2017 20:56:12
vale,gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por Chema (234 intervenciones) el 27/08/2017 23:08:55
"manejar datos" Socialdemocracia en pésimo estilo y redacción

RAE:

1. tr. Usar algo con las manos.

2. tr. Usar, utilizar, aunque no sea con las manos.

3. tr. Gobernar los caballos.

Este enunciado no tiene sentido, usa Neolengua. Al no tener sentido TU te imaginas el significado, y siempre imaginas el mejor de los casos, ese es el "truco" de la Neolengua, en informática y programación existe un abuso constante de la Neolengua, un ejemplo, lee despacio y usando la compresión lógica cualquier documentación , propaganda o noticia sobre Microsoft y dime si entiendes algo que no sea imaginarte lo que quieren decir.


escribe el codigo correspondiente a una estructura que permita manejar los siguientes datos sobre sus coches:
su potencia,consumo,presion de neumaticos,año de fabricacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por carlos (63 intervenciones) el 29/08/2017 12:01:05
Me he quedado un poco trastocado despues de leerlo entonces,¿ el enunciado no tiene sentido? no me imagino el mejor de los sentidos sino busco significado y al tener varios el que de sentido a la frase

¿Y porque en programación se usa la Neolengua,si parece que lo hace mas dificil?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por Chema (234 intervenciones) el 29/08/2017 15:38:25
La Neolelngua está de moda, en cualquier medio la encontrarás.

Se usa Neolengua por distintos motivos, ofuscar pervertir, ocultar la realidad, crear realidades paralelas, propaganda. En el caso que nos ocupa se usa Neolengua cuando el emisor es un ignorante de la materia, Juegan con la simetría de la información, si tu les compras un libro significa que tu conocimiento es mínimo e insuficiente para tomar conciencia de que el libro y el autor son una porquería.

Yo no uso Neolengua, mis conocimientos hacen de C un juego muy simple y así de simple los trasmito. unos pocos términos sencillos, y ajustados sobran para explicar cualquier acción.

Te llevarías una gran sorpresa si me vieras trabajar, verías que con un simple papel , un lápiz y una buena taza de café sobra para realizar cualquier cosa por grande que sea en C.

C es muy sencillo, no te compliques, busca ejecicios exámenes trabajos de universidades, con eso te basta para empezar , para ser un buen programador debes poseer "duende" y eso se consigue tras miles de horas de papel , lápiz y café.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejemplo practico con malloc

Publicado por Chema (234 intervenciones) el 29/08/2017 16:39:11
Si eres avispado notarás que en este foro, los foros de habla española, los libros y en universidades, sólo se habla de las reglas del juego, y casi nunca de como se juega.


Hablar de la reglas del juego y no de la jugada, es una forma de aparentar conocimiento cuando en realidad se desconoce bien cómo se juega.

Libros reproduciendo manuales de internet que solo hablan de las reglas de juego y no enseñan como se juega, es lo que encontrarás. Gente que habla y habla de las reglas de juego es lo que más abunda.

Lo peor de C no es el Lenguaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad