Hur hålla i värden om ett objekt i C?

Permalänk

Hur hålla i värden om ett objekt i C?

Hej!

Jag tror denna tråd inte kommer handla om klassprogrammering, men jag behöver faktiskt hjälp att skicka stycken olika värden till en sak som håller i dessa värden. Hur jag jag då? Globala variabler är en metod, men den söker jag inte.

Jag har gjort en struct som håller i 3 värden.

Permalänk
Medlem

Om du definierat en struct så är nästa steg att du skapar en instans av den structen. C hanterar automatiskt att skicka structar "by value" annars kan du skicka som pekare.

Se på t.ex.
https://compilr.com/mounte/passing-struct/HelloWorld.c

Valet att skicka som pekare beror lite på prestanda och vad du behöver kunna göra.
I exemplet jag skrev så behöver datorn skyffla 24 bytes då man skickar som värde (by value) vid varje funktionsanrop och retur, funktionen modify_struct_byval kommer resultera i att 48B data skyfflas (utöver den data som faktiskt skrivs till structen som totalt är 24B också. Jämför med modify_struct_byp som använder pekare, inget behöver returneras och pekarens storlek på denna platformen var 8B, så totalt skyfflas 1/6 av datat bara men samma funktion uppnås.

Visa signatur

weeeee

Permalänk

Är detta ett kortfattat exempel på objektorienterat i C?
Om JA? Coolt!

Permalänk
Medlem

Nej detta är inte objektorienterat. Objektorientering innebär så mycket mer med arv, multipla arv etc.
Det går till viss gräns att emulera objektorientering i C men förr eller senare blir det krystat och man får ta till C++.

Visa signatur

weeeee