Array so schön wie beim initialisieren Befüllen (int array[]={'wert1','wert2'};)
-
Hallo,
gibt es eine Möglichkeit ein Array so schön zu Befüllen wie dies beim initialisieren möglich ist?int array[]={'wert1','wert2'}; array[]={'wert1','wert2'}; //klappt leider nicht
Danke schon mal!
nice
-
int array[]={wert1,wert2}; array[0] = wert1; array[1] = wert2; // oder: for(int i=0; i < 2; i++) scanf("%d", &array[i]);
Die Möglichkeit mit den Klammern gibt es nur beim Initialisieren.
-
Schade, aber danke für die schnelle Antwort!
-
Mit memset kannst du es aber trotzdem mit den Klammern machen:
#include <stdio.h> #include <string.h> int main() { int arr[] = { 0, 1, 999, 3, 4, 123 }, i; for(i = 0; i < 6; ++i) { printf("%i\n", arr[i]); } printf("\n\n"); memcpy(arr, (const int[]){ 5, 32, 5, 4, 4, 99 }, sizeof(arr)); for(i = 0; i < 6; ++i) { printf("%i\n", arr[i]); } return 0; }
mfg.
-
joomoo, wo wird dein i definiert?
mir ist neu, dass C array-literale ausserhalb der initialisierung erlaubt.
dein const int[] cast kommt mir nicht bekannt vor. wie heisst der compiler, der das unterstuetzt?
-
@joomoo: Mmmhhhmmmm... *lol* schön wär's.
Greetz, Swordfish
-
c.rackwitz schrieb:
joomoo, wo wird dein i definiert?
int arr[] = { 0, 1, 999, 3, 4, 123 }, i;
c.rackwitz schrieb:
mir ist neu, dass C array-literale ausserhalb der initialisierung erlaubt.
dein const int[] cast kommt mir nicht bekannt vor. wie heisst der compiler, der das unterstuetzt?Ab C99. 6.5.2.5 Compound literals
-
ich muss mir das durchlesen...