home *** CD-ROM | disk | FTP | other *** search
- /*********************************************************************
- * CH14_04.C Allocation de mΘmoire α un tableau avec calloc() *
- *********************************************************************/
-
- #include<stdio.h>
- #include<alloc.h> /* pour malloc() et free() */
- #include<process.h> /* pour exit() */
-
- void LitU( unsigned*);
- void EcritTab( double*, unsigned);
-
- main( void)
- {
- double *tab; /* Nom du tableau */
- unsigned n; /* Dimension du tableau */
-
- printf(" Entrez la dimension du tableau: ");
- LitU( &n);
-
- tab= ( double*) calloc( n, sizeof( double) );
- if( tab== NULL)
- {
- printf("\n La mΘmoire disponible est insuffisante!\n");
- exit( 1);
- }
-
- EcritTab( tab, n);
-
- free( tab);
- }
-
- void EcritTab( double *tableau, unsigned dim_tab)
- {
- unsigned i;
- double *ptr;
- ptr= tableau;
- printf("\n (tableau)= ");
- for( i= 0; i< dim_tab; i++)
- printf("\n\t [%u]= %lf", i, *( ptr++));
- }
-
- void LitU( unsigned* entier_u)
- {
- double dble;
- do
- {
- while( scanf("%lf", &dble)!= 1)
- while( getchar() != '\n');
- while( getchar() != '\n');
- }
- while( dble< 0.0 || dble> 65535.0);
- *entier_u= ( unsigned) dble;
- }
-