Hirdetés

Új hozzászólás Aktív témák

  • tototos
    addikt

    Röviden ennyi a set-get. Nem működik teljesen jól, de az elv jól látszódik. Mivel úgy írtad, hogy a sokból két változó nem változhat, így a const-os dolgot nem lehet használni, mert akkor egyik elemét sem lehet változtatni. Valamiért nem a 10-t tölti bele a változóba. Tudja esetleg valaki, hogy miért?

    #include <stdlib.h>
    #include <stdio.h>

    typedef struct
    {
    int ifoo;
    char cfoo;
    } fooTypeDef;

    void set(fooTypeDef foo)
    {
    foo.ifoo = 10;
    }

    int get(const fooTypeDef foo)
    {
    return foo.ifoo;
    }

    int main(void)
    {
    fooTypeDef sfoo;

    set(sfoo);
    printf("%i\n", get(sfoo));

    return 0;
    }

    Látom pointereket használsz. Ha azok sem változnak, akkor arra is ki lehet kötni, hogy konstans legyen.

    MCU-ra vagy a PC-re írod a kódod?

    Bocsi, hogy csak most válaszolok, de a munkahelyen nem szeretek 1-2 percnél többet foglalkozni a fórummal.

    Köszi szépen. Délután kipróbálom a dolgot.
    MCU-ra írom, egy kommunikációs modul kiegészítése lesz. Azért használok pointert hogy csak egyszer legyen tárolva a struktúra, és azt lehessen átadni. Sajnos ahogy néztem, az egész struktúrát nem tudom átadni, csak egyenként az elemeket. Az lett volna jó ha tudok egy get függvényt írni ami visszaadja a struktúrát és ha valaki a struktúra elemét akarja átírni akkor beszól a fordító, vagy csak egyszerűen nem történik meg a művelet futás közben.

Új hozzászólás Aktív témák