kostenloser Webspace werbefrei: lima-city


Frage zu Variablen-deklaration

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    j*****k

    Hallo,
    ich lerne grade C und habe eine Frage zu <b>int</b>:
    So wie ich das gelernt habe, ist ein <b>int</b> immer so gro?, wie der Prozessor der Ziehlmaschine arbeiten kann.
    Also bei einem "normalem" CPU w?ren das dann 32 Bit, beim AMD 64 dann 64 Bit.
    Ist das richtig?
    Wenn ja, warum sagt er mir dann, dass ich nur 4 Bit habe?
    hier ist der Programm Code:


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

    char a_char = 0>;
    int an_int = 0;
    short a_short = 0;
    long a_long = 0;
    float a_float = 0;
    double a_double = 0;

    main()
    {
    printf("Groesse von char: %d Byte(s)\n",sizeof(a_char));
    printf("Groesse von int: %d Byte(s)\n"sizeof(an_int));
    printf("Groesse von short: %d Byte(s)\n",sizeof(a_short));
    printf("Groesse von long: %d Byte(s)\n",sizeof(a_long));
    printf("Groesse von float: %d Byte(s)\n",sizeof(a_float));
    printf("Groesse von double: %d Byte(s)\n",sizeof(a_double));

    system("PAUSE");
    return 0;
    }


    So, dann sacht er bei int:
    Size of int: 4 Bit(s)

    WARUM????

    Ich hab doch einen 32 Bit Prozessor?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. j***e

    bitte nich hauen wenns falsch ist :tongue:

    ich glaub mal weil du einen 32bit compiler benutzt
    int 4 Bytes
    short int 2Bytes
    long int 4 Bytes
    bool 1 byte
    char 1Byte
    float 4 Bytes
    double 8Bytes
  4. n***n

    Hi, ja genau.
    Es sind 4 _Bytes_.
    (4 * 8 = 32Bit)
  5. c*t

    hm, das kommt mir jetzt auch merkw?rdig vor, sowas habe ich noch nie versucht, denn in jeder fachliteratur lernt man das int immer die gr??e von 4 bytes hat. die einzige erkl?rung k?nnte dann wirklich h?chstens sein, dass sie sich gegenseitig den speicher wegnehmen und deshalb alle speicherpl?tze kleiner werden, aber vorstellen kann ich mir das nicht, weil ich ja dann um so mehr verschiedene variablen ich definiere, weniger speicherplatz f?r die einzelnen variablen habe.

    aber noch mal ne andere theorie, hast du vielleicht nur bit und byte verwechselt? weil dann w?rde dein ergebnis n?mlich stimmen, da ein integer auf neueren compilern 4byte gro? ist, also 32 bit.
  6. Autor dieses Themas

    j*****k

    Ahhhhhh,
    das sind ja 4 Byte und das sind ja 32 Bit ;))
    Danke!
  7. c*t

    gut sowas habe ich mir schon gedacht, da das thema dann erledigt ist close ich mal, falls noch jemand eine frage oder anmerkung dazu hat, bitte eine pn an mich oder einen knight oder anderen f?r diesen bereich zust?ndigen mod (in der hoffnung es gibt bald noch einen:wink:) schicken, dann wird wieder ge?ffnet.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!