kostenloser Webspace werbefrei: lima-city


C/C++

lima-cityForumProgrammiersprachenC/C++ und D


  1. C(99):
    5.1.2.2.1
    darin ist eindeutig gesagt das es nur 2 moegliche varianten von main gibt:
    int main(void) { /* ... */ }
    int main(int argc, char *argv[]) { /* ... */ }

    Es gibt noch

    int main(int argc, char **argv, char **env) { /* ... */ }

    (env enth?lt Umgebungsvariablen des Betriebssystems)


    Aber eine Funktion mit einem Typ (int main) muss in C auch immer einen Wert zur?ckgeben (return). Viele Compiler geben jedoch nur 'ne Warnung aus und erg?nzen das return 0; automatisch.
    Zumindest mein gcc beschwert bei einer main ohne return deshalb auch zu Recht.

    MfG,
    thw
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. c******a

    main is the only function that may portably be declared either with zero or two arguments. (The
    number of other functions? arguments must match exactly between invocation and definition.)
    This special case simply recognizes the widespread practice of leaving off the arguments to
    main when the program does not access the program argument strings. While many
    implementations support more than two arguments to main, such practice is neither blessed nor
    forbidden by the Standard; a program that defines main with three arguments is not strictly
    conforming (see ?J.5.1.).


    ANSI C99 standard 5.1.2.2.1 zu finden unter:
    http://www.google.com/search?hl=en&q=ansi+C99+standard&btnG=Google+Search
  4. Wahrhaftig, du hast Recht. Wusste gar nicht dass das env nicht dazu geh?rt :-)
    Man lernt halt nie aus *freu*

    Das mit dem return sollte aber mehr oder weniger stimmen:

    If the } that terminates a function is reached, and the value of the function call is used by the caller, the behavior is undefined.

    [?6.9.1.12]


    Ist also nicht ratsam, eine Nicht-void-Funktion ohne return zu lassen.

    MfG,
    thw
  5. c******a


    ...
    Ist also nicht ratsam, eine Nicht-void-Funktion ohne return zu lassen.

    MfG,
    thw


    in c++ sieht es da aber wieder etwas anders aus.
  6. z********z

    kann mir mal einer den unterschie dzwischen c/c++ erkl?ren oder ist das ein programm was so hei?t?
    wennman es nehmen m?chte, welche version?
    und was hei?t den: Die Programmiersprache aller Programmiersprachen?
    hat damit alles angefangen?

    Beitrag ge?ndert am 19.03.2006 03:11 von zero-chaoz
  7. zero-chaoz schrieb:
    kann mir mal einer den unterschie dzwischen c/c++ erkl?ren oder ist das ein programm was so hei?t?


    Guckst du hier: http://www.lima-city.de/boards.php?m=thread&id=16455


    wennman es nehmen m?chte, welche version?


    Also von C auf jeden Fall ANSI C99 (siehe vorangegangene Posts).


    hat damit alles angefangen?


    N?. Begonnen hat es, wenn du so willst, mit Maschinensprache.

    Thread geschlossen, da das Thema von der urspr?nglichen Fragestellung schon l?ngst abgewichen ist.
    F?r R?ckfragen stehe ich gern zur Verf?gung.

    MfG,
    thw
  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!