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

  • expfgv

    újonc

    válasz s1999xx #5924 üzenetére

    Köszi a reagálást, ha már itt válaszoltál, leírom ide a konkrét problémát (bocsi a szemetelést a többiektől!).
    Amit írtál, be van kapcsolva nálam, projectet is létrehoztam természetesen! :)
    A feladat:

    Feladat: Állapítsuk meg, hogy az egyes változó típusok mekkora méretűek bájtban. (bájt==Byte)
    Ezt a sizeof(x) egy operandusú operátorral tehetjük meg, mely az argumentumában szereplő objektum, ebben az esetben a változó méretét adja vissza bájtban. Így könnyen ellenőrizhetjük, hogy egy adott típus hány bájtos, azaz hány bájtot foglal le a memóriában,
    Például.:
    char típus : 1 (bájt), előjeles EGÉSZ alapból; -128...127;
    unsigned char: 1 (bájt), előjel nélküli EGÉSZ, char típusú
    számábrázolás; 0...255 értékekkel;
    int típus : 4 (bájt) !!a 32 bites környezetben!!,
    előjeles EGÉSZ alapból. Az int típus méretét feltétlenül ellenőrizni kell, mert a mérete operációs rendszer függő!

    FONTOS: A BREAKPOINT-ot az 'int main()' sorba tegye, léptesse a programot soronként és az eredményeket a WATCHES ablakban figyelje, LOCAL VARIABLES alatt! Ez az ablak 'debug' esetén automatikusan megnyílik.

    Maga a kód (megjegyzésekkel):

    #include <stdio.h> // header file-ok
    #include <stdlib.h>
    // Deklarációs rész (később)
    // int aglobalis, bglobalis; // Globális változók helye, minden
    // függvényből láthatók, későbbiekben
    // (lehetőleg) ne használjuk. (Ezen
    // változók akkor globálisak, ha egy
    // modulból áll a program.)
    int main() // BREAKPOINT ITT !!!
    {
    char ch; // lokális változók deklarálása
    // kezdeti értékadás nélkül!
    int a, b, c, d, e, f, g;// lokális változók csak a függvényen
    // belül láthatók, most main()-on belül.
    // FIGYELEM; alapból a számábrázolás előjeles (+/-)

    a = sizeof(ch); // 'ch' nevű, 'char' típusú (1 bájtos) változó
    // 'ch' változó méretét átadja az ’a’
    // változónak (így a értéke 1 lesz).

    b = sizeof(char); // közvetlenül a típus nevét is bele írhatjuk
    c = sizeof(unsigned char); // a sizeof() operátor argumentumába
    d = sizeof(int); // előjeles EGÉSZ számábrázolás
    e = sizeof(unsigned int); // előjel nélküli EGÉSZ számábrázolás
    f = sizeof(float); // ez a kompatibilitás miatt van már
    g = sizeof(double); // újabb fordítók ezt tekintik alaptípusnak
    // a 'float' és a 'double' típusok, valós számtípusok, azaz
    // előjeles egész vagy tizedes pontos tört értékek is lehetnek
    return 0;
    }

    Namost én ezt bemásolom, majd a jelölt helyre rakok egy breakpointot. Nyomok egy F8-at, majd nyomnám az F7-et, de semmi értelme. Egyrészt a Watches ablak teljesen üres, másrészt nem lép a sorok között.

    kovisoft: bocsi, teljesen fogalmatlan vagyok ilyen téren, ma láttam életem első C kódját. :B Leírtam ebben a hozzászólásban, hogy hogy csináltam.

    [ Szerkesztve ]

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