Attribuer à un tableau de struct en c

J'ai le code suivant:

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;
}

Ça fonctionne OK, mais je veux changer le initalization de la mem tableau de cette façon:

test->mem = {1,2,3,4,5,6};

Mais la gcc me donne cette erreur:

erreur: attendu expression before '{' token test->mem = {1,2,3,4,5,6};
Avec une flèche pointant vers la gauche ouvrir des accolades.

Ce que cela peut être?

Merci!

EDIT:
J'ai aussi essayer ce code:

long mem[1000] = {1,2,3,4,5,6};
    test->mem = mem;

Et j'obtiens cette erreur de gcc:

error: incompatible types lors de l'affectation de type 'long int[1048576]'
de type " long int *' test->mem = mem;

Je ne suis pas permettre d'utiliser toutes les fonctions C.

OriginalL'auteur Nir | 2014-01-22