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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
/*
* Constante taille tableau
*/
#define SIZEA 2
#define SIZEB 2
#define SIZEC 2
/*
* LibC
*/
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main( void ){
/*
* Variable de parcourd
*/
short i = 0;
short j = 0;
short k = 0;
short l = 0; //Variable d'incrémentations
/*
* Diférents tableaux
*/
short tab[10] = {0};
short tab2[2] = {0};
short tab3[2][2][2];
short *ptr = NULL;
/*
* Determination nombre élements = taille tableau
* (différents taille tableaux)
*/
unsigned short size = sizeof tab / sizeof *tab;
unsigned short size_A = sizeof tab2/ sizeof *tab2;
unsigned short size_B = sizeof tab3/ sizeof tab3[0][0][0];
/*
* Affichage nombre éléments
*/
fprintf( stdout, "size tab\t = %d\n", size );
fprintf( stdout, "size tab2\t = %d\n", size_A );
fprintf( stdout, "size tab3\t = %d\n", size_B );
/*
* Initialisation Tableau
*/
for( i = 0; i< SIZEA; i++ ){
for( j = 0; j < SIZEB; j++ ){
for( k = 0; k < SIZEC; k++ )
tab3[i][j][k] = l++;
}
}
/*
* Affichage & comptage élements
*/
fprintf( stdout, "Tab3\t\t = ");
for( i = 0; i< SIZEA; i++ ){
for( j = 0; j < SIZEB; j++ ){
for( k = 0; k < SIZEC; k++ )
fprintf( stdout, "%d\t", tab3[i][j][k]);
}
}
fprintf( stdout, "\n");
/*
* Allocation mémoire ptr
*/
errno = 0;
if( NULL == (ptr = malloc( size_B * sizeof(short) ) ) ){
fprintf( stderr, "(%d)\t:%s\n\t:%s\n", errno,
"Erreur allocation mémoire", strerror(errno) );
return (EXIT_FAILURE);
}
/*
* initialisation
*/
memset( ptr, 0, size_B );
for( i = 0; i < size_B; i++ )
*(ptr+i) = i;
/*
* Affichage élements ptr
*/
fprintf(stdout, "Ptr\t\t = " );
for( i = 0; i < size_B; i++ )
fprintf( stdout, "%d\t", *(ptr+i) );
fprintf( stdout, "\n" );
/*
* Free mémoire ptr
*/
free( ptr );
ptr = NULL;
return (EXIT_SUCCESS);
} |
Partager