1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #include <stdio.h>
#define TAB_PACK3(i) (tab1[i] & (tab1[i+1]<<16)), tab1[i+2]
#define TAB_PACK2(i) (tab1[i] & (tab1[i+1]<<16))
#define TAILLE_TABLEAU2 9
void remplissage_tableau( const short int * tab1 , int * tableau , size_t taille )
{
int tab2[] = { TAB_PACK3(1) , 5 , tab1[0] , 8 , tab1[2] , 4 , tab1[1] , tab1[2] };
size_t i ;
for ( i = 0 ; i < taille ; i++ )
tableau[i] = tab2[i] ;
}
int main(void)
{
const short int tab1[] = {0, 1, 2, 8};
const int tab2[TAILLE_TABLEAU2];
size_t i ;
remplissage_tableau( tab1 , (int*)tab2 , TAILLE_TABLEAU2 ); /* caster en int* pour supprimer le const */
for ( i = 0 ; i < TAILLE_TABLEAU2 ; i++ )
printf("%d " , tab2[i]) ;
return 0;
} |
Partager