Suchergebnisse für Anfrage "sizeof"

4 die antwort

Warum belegen C ++ - Klassen ohne Membervariablen Platz?

Ich habe festgestellt, dass sowohl MSVC- als auch GCC-Compiler mindestens ein Byte pro Klasseninstanz zuweisen, auch wenn die Klasse ein Prädikat ohne Mitgliedsvariablen (oder nur mit statischen Mitgliedsvariablen) ist. Der folgende Code ...

6 die antwort

Wie berechnet sizeof die Größe von Strukturen

Ich weiß, dass ein char und ein int aufgrund der Ausrichtung auf 32-Bit-Architekturen als 8 Bytes berechnet werden, aber ich bin kürzlich auf eine Situation gestoßen, in der eine Struktur mit 3 Kurzschlüssen vom sizeof-Operator als 6 Bytes ...

12 die antwort

memcpy (), wie sollte der Wert des Parameters size sein?

Ich möchte ein int-Array in ein anderes int-Array kopieren. Sie verwenden dieselbe Definition für die Länge, sodass sie immer dieselbe Länge haben. Was sind die Vor- / Nachteile der folgenden beiden Alternativen des Größenparameters für memcpy ...

TOP-Veröffentlichungen

10 die antwort

Verwenden von sizeof mit einem dynamisch zugewiesenen Array

gcc 4.4.1 c89 Ich habe den folgenden Codeausschnitt: #include <stdlib.h> #include <stdio.h> char *buffer = malloc(10240); /* Check for memory error */ if(!buffer) { fprintf(stderr, "Memory error\n"); return 1; } printf("sizeof(buffer) [ %d ...

16 die antwort

Warum kennt die Funktion die Arraygröße nicht?

Wenn ich schreibe int main() { int a[100] = {1,2,3,4,}; cout<<sizeof(a)/sizeof(a[0])<<endl; //a is a pointer to the first elem of array, //isn't it return 0; }Ich bekomme 400! Wenn ich schreibe void func (int * a); int main() { int a[100] = ...

6 die antwort

Was ist der einfachste Weg, die Größe eines Typs zu ermitteln, ohne Code zu kompilieren und auszuführen?

Ich habe ein Bash-Skript geschrieben, um die Größe von @ zu bestimmegcc -Datentypen (z. B../sizeof int double gibt die jeweiligen Größen von @ aint unddouble) indem Sie jedes seiner Argumente in das folgendeP() Makro und dann Kompilieren und ...

6 die antwort

Wird der Ausdruck, auf den sizeof angewendet wird, nicht ausgewertet, ist es zulässig, einen Null- oder ungültigen Zeiger in sizeof in C ++ zu dereferenzieren?

Zunächst habe ich @ geseh Diese Frage zu C99 [https://stackoverflow.com/q/19785518/57428] und die akzeptierten Antwortreferenzenoperand wird nicht ausgewertet Formulierung im C99-Standardentwurf. Ich bin nicht sicher, ob diese Antwort auf C ++ ...

4 die antwort

Machen Klammern einen Unterschied bei der Bestimmung der Größe eines Arrays?

Das folgende Programm gibt dieselbe Nummer zweimal auf gcc 4.8.2 aus: #include <stdio.h> int main() { char a[13]; printf("sizeof a is %zu\n", sizeof a ); printf("sizeof(a) is %zu\n", sizeof(a)); }Gemäßdieser reddit ...

10 die antwort

Kann "sizeof (arr [0])" zu undefiniertem Verhalten führen?

Es gibt ein bekanntes Muster, um die Länge eines Arrays herauszufinden: int arr[10]; size_t len = sizeof(arr) / sizeof(arr[0]); assert(len == 10);Dieses Muster gilt für statische Arrays und Auto-Arrays mit konstanter Größe. Dies gilt auch für ...

2 die antwort

VLAs und Nebeneffekt in sizeofs Operand

Ich weiß dassizeof wertet seinen Operanden niemals aus, außer in dem speziellen Fall, in dem der Operand eine VLA ist. Oder ichhabe gedach Ich wusste void g(int n) { printf("g(%d)\n", n); } int main(void) { int i = 12; char arr[i]; // VLA ...