Hirdetés

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

  • buherton
    őstag

    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.

    Olyat lehet csinálni, hogy senki nem írhat a struktúrába.

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

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

    int get(const fooTypeDef * const foo)
    {
    int i = sfoo->ifoo; //működnie kellene, ha csak ez van a függvény törzsben
    sfoo->cfoo = 'd'; // erre viszont hibát kell, hogy dobjon, mert konstans változóba nem lehet írni
    }

    int main(void)
    {
    fooTypeDef sfoo;

    sfoo.ifoo = 10;
    sfoo.cfoo = 'a';
    get(&sfoo);

    return 0;
    }

    Nincs nálam fordító, így nem tudom kirpróbálni, hogy tényleg működik-e.

    Fene a jó dolgod. Szívesen foglalkoznék főállásban ilyennel, csak sajnos más fele vitt a sors. Most is körülöttem ilyennel foglalkoznak csak én más projekten vagyok.

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