Új hozzászólás Aktív témák
-
tototos
addikt
válasz
buherton
#3824
üzenetére
És olyat nem lehet hogy ne a fv visszatérési értéke legyen a változó?
ilyenre gondolok:
valami.c:
fooTypeDef localfoo;
void set(const fooTypeDef * const foo)
{
foo.ifoo=0; //ez csak egyszer hívódik meg
}
void get(const fooTypeDef ** const foo)
{
localfoo.cfoo = a+b; //ez az értékadás minden hívásnál megtörténik
*foo= &localfoo;
}
main.c //ezt hívják majd a fejlesztők
footypedef* myfoo;
get(&myfoo);
myfoo->ifoo = 5; //erre vagy hiba vagy ne hajtódjon végre
myfoo->cfoo = 4; // ez annyira nem nagy hiba mert a legközelebbi hívásnál úgyis felülíródik -
buherton
őstag
válasz
buherton
#3824
üzenetére
Ami kimaradt: így a get függvények belül egyik adattagot sem lehet írni, csak és kizárólag olavsni. Az set-get-es függvényeknek azaz előnyük, hogy szabadon lehet változtatni az összes adattagját, viszont get a függvénnyel egyesével tudsz értékeket olvasni. Kivéve ha nem kókányolsz íly módon:
#include <stdlib.h>
#include <stdio.h>typedef struct
{
int ifoo;
char cfoo;
} fooTypeDef;int get(const fooTypeDef * const foo, int * const ibar, char * const cbar)
{
*ibar = sfoo->ifoo;
*cbar = sfoo->cfoo;
}int main(void)
{
fooTypeDef sfoo;sfoo.ifoo = 10;
sfoo.cfoo = 'a';int ibar;
char cbar;get(&sfoo, &ibar, &cbar);
printf("%i %c", ibar, cbar);return 0;
}Vagy valami ilyesmi lesz.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen routert?
- PlayStation 5
- Milyen billentyűzetet vegyek?
- Robotporszívók
- Játékra vagy munkára? Az új AOC monitorokkal nem kell választani.
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Gaming notebook topik
- Gyúrósok ide!
- Automata kávégépek
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- További aktív témák...
- Xiaomi 15T Pro 12/512 Fekete. Alza vásárlás 36 hó garancia.
- i9 10900, 48GB DDR4 Kingston Hyperx Fury (3x16GB), Gigabyte H470M DS3H, Be quiet, Zalman
- Apple Watch Series 11 46MM 100% Akkuval Fekete színben 2026.09.19-ig Apple Garanciával
- Asus Zenfone 10 16/512 garanciával - mint az új
- Thinkpad X13 Gen3 13.3" FHD+ IPS i7-1265U 16GB 512GB NVMe gar
- Lenovo ThinkCentre / Dell OptiPlex / Hp EliteDesk mini, micro PC - Számla/garancia
- EVGA SuperNOVA 850 G2 850W 80 PLUS Gold
- Samsung Galaxy A52s 5G / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Tablet felvásárlás!! Samsung Galaxy Tab A8, Samsung Galaxy Tab A9, Samsung Galaxy Tab S6 Lite
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

