27 votes

Meilleure méthode pour créer un sous tableau à partir d'un tableau en C

J'ai un tableau qui dit a[3]={1,2,5} . Je dois créer un autre tableau a2[2]={2,5} .

Ce que j'ai essayé de faire, c'est de créer un nouveau tableau a2[] et copier simplement tous les éléments de la plage de position requise.

Existe-t-il une autre méthode pour réaliser cela en C ?

32voto

BLUEPIXY Points 18514
memcpy(a2, &a[1], 2*sizeof(*a));

23voto

ouah Points 75311

Au lieu d'avoir un deuxième tableau, il suffit d'utiliser un pointeur :

int a[3]={1,2,5};
int *p = &a[1];

S'ils doivent être distincts, vous n'avez pas d'autre choix que de copier les éléments du tableau dans un nouveau tableau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X