2016-04-24 16 views
1

Ich habe diese Variablen:Einfügen von Elementen in Array

val1 = 24.00 
    val2 = 71.3 
    val3 = 9.30 
    val4 = 45.3 

und ich möchte, dass sie in einem Array einzufügen.

array[0] = 24.00 
    array[1] = 71.3 
    array[2] = 9.30 
    array[3] = 45.3 

Gibt es eine Möglichkeit, dies zu tun. Es tut uns Leid Ich versuche, meinen Kopf um Arrays in C zu erhalten, und das ist alles, was ich bisher:

double array[5]; 

    for (i=0; i<5; i++) { 
     array[i] = val1 
     array[i] = val2 
     array[i] = val3 
     array[i] = val4 
    } 

Ich weiß, das ist nicht richtig, aber ich bin nicht sicher, wie variable Elemente in ein Array einzufügen. Jede Hilfe wäre willkommen.

+2

Haben Sie es versucht? Sie benötigen nicht einmal die 'for'-Schleife. Du machst einfach nur 'array [0] = 24,00' und so weiter, wie du im zweiten Teil der Frage erwähnt hast. –

+0

Sie haben bereits die Antwort. Dein zweiter Teil ist korrekt. – kchinger

Antwort

2

Entweder eine Schleife verwenden oder jedem Element zuweisen, aber nicht mi x sie. Wenn die Werte in mehreren Variablen sind:

double array[4]; 

    array[0] = val1 
    array[1] = val2 
    array[2] = val3 
    array[3] = val4 

Wenn Sie sie in einem anderen Array haben:

double array[4]; 

double val[] = {24.00, 71.3, 9.30, 45.3}; 
for (i=0; i<4; i++) { 
    array[i] = val[i] 
} 
2

Sie haben bereits außer es halb so gemacht, dass Sie haben Ihren Wert mit den Variablennamen zu ändern:

array[0] = val1; 
array[1] = val2; 
array[2] = val3; 
array[3] = val4; 

Wenn Sie val Variable als Array haben, dann könnten Sie Memcpy oder for-Schleife verwenden, es zu tun .

Beispiel:

double val[] = {24.00, 71.3, 9.30, 45.3}; 
double array[4]; 
memcpy(array, val, 4 * sizeof(double)); 

Auch dieses ist nicht die Möglichkeit, das zu tun, weil Sie überschreiben , was Sie vorher schreiben:

double array[5]; 

for (i=0; i<5; i++) { 
    array[i] = val1; 
    array[i] = val2; 
    array[i] = val3; 
    array[i] = val4; 
} 

Alle Elemente des Arrays werden val4

2

Ihr Beispielcode mit val4 in jedem Element wird am Ende, da der Code in den Klammern wird einmal pro Iteration und val4 ist die letzte Anweisung für jede Iteration. Die Variablen in diskreten Variablen machen es ziemlich schwierig, das zu tun, was Sie innerhalb einer Schleife fragen. Ich fürchte, das Beste, was Sie tun können, ist, sie manuell zuzuweisen, wie Sie gezeigt haben. Sie könnten dies möglicherweise mit einem Präprozessormakro erreichen, aber das wäre compilerabhängig und ziemlich hässlich.