1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

C Array Grösse

Dieses Thema im Forum "C/C++" wurde erstellt von kika1116, 14. Januar 2018 um 14:22 Uhr.

  1. kika1116

    kika1116 Grünschnabel

    Hallo,
    wie kann ich die Grösse von folgende Funktion ermitteln?

    Code (C):
    1. int func(int arr[], int dim){
    2.     int size2 = sizeof arr;
    3. }
     
  2. cwriter

    cwriter Erfahrenes Mitglied

    Die Frage ist so ungenau, dass es einige verschiedene Antworten gibt.
    1) Die Funktion ist konstant und der Compiler kann sie durch sizeof(void) ersetzen.
    2) Falls der Compiler nicht optimiert, sind 2 Register für den Aufruf erforderlich, und der Code ist etwa 6-10 Bytes lang (x86), movabs und ret. /EDIT: Wie du das genau herausfindest: Mit dem Disassembler deines Vertrauens (z.B. GDB). Aber weshalb willst du das wissen?

    Falls du die Grösse in Bytes des Arrays haben willst, ist die Formel schlicht sizeof(int)*dim, sofern dim die Anzahl Elemente des Arrays ist.

    Gruss
    cwriter
     
    Zuletzt bearbeitet: 14. Januar 2018 um 22:15 Uhr
Die Seite wird geladen...