Zdravím všechny, .. je to možné (viz Název vlákna)? A jestli ano, jak bych toho mohl dosáhnout? Dejme tomu, že struktura vypadá takto
typedef struct x {
char a[3];
char b[3];
} X;
, již dopředu díky za reakce.Ano. Jde mi o něco takového:
#include <stdio.h>
/**
* Funkce vrátí číslo, ale nemění ho.
*/
int f_1 (int a) {
return a;
}
/**
* Funkce číslo změní, ale nevrací ho.
*/
void f_2 (int* a) {
*a += 4;
}
/**
* Funkce číslo změní a zároveň ho i vrátí.
*/
int f_3 (int* a) {
*a += 4;
return *a;
}
int main (int argc, char** argv) {
/**
* Číslo se, kterým se bude operovat.
*/
int a = 5;
printf("%d\n", f_1(a));
f_2(&a);
printf("%d\n", a);
printf("%d\n",f_3(&a));
return 0;
}
Rád bych si udělal toto samé, ale ze strukturou a proto se znovu ptám, lze něco takového udělat? Jestli ano tak jak. (V tebou odkázaném vlákně se mluví maximálně tak o náznaku na f_2).To KIIV :
hm...zajimavé...když má něco človek copyrightovaný tak to rovnou prodáva! =D...a když dojde k chybám někde v kódu tak je jesný že dá patch nebo opravný kód...
To Ivan : neni problem poslat ukazatel na strukturu .. a ten i pak vratit.. nebo ji poslat jako normalni parametr.. tim se pri zavolani zkopiruje a upravy se neprojevi na puvodnich datech... a vratit to muzes taky
je to proste stejny jako si posilal... jen se dostanes k prvkum pomoci operatoru -> napriklad (struct neco * blabla) { blabla->a = 1; } a tak dale
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku