Ich habe den folgenden Code:Assign to Array in Struktur in c
typedef struct Test {
long mem[1000];
} Test;
extern Test *test;
int main() {
Test *test = (Test *)malloc(sizeof(Test));
test->mem[0] = 1;
test->mem[1] = 2;
test->mem[2] = 3;
test->mem[3] = 4;
test->mem[4] = 5;
test->mem[5] = 6;
return 0;
}
Es ist OK zu arbeiten, aber ich mag das initialisiert des mem-Array ändern, so zu sein:
test->mem = {1,2,3,4,5,6};
Aber die gcc mir diesen Fehler geben:
error: expected expression before '{' token test->mem = {1,2,3,4,5,6}; With arrow pointing to the left open braces.
Was kann es sein?
Danke!
EDIT: Ich versuche auch, diesen Code:
long mem[1000] = {1,2,3,4,5,6};
test->mem = mem;
Und ich erhalte diesen Fehler von gcc:
error: incompatible types when assigning to type 'long int[1048576]' from type 'long int *' test->mem = mem;
Ich verwende nicht zulassen, dass alle C-Funktionen.
Bitte beachten Sie die Änderung in der Frage. – Nir