Types pour un but particulier utilisés généralement :
Type variable |
Description |
size_t |
type non signé utilisé pour stocker les tailles des objets en bytes |
time_t |
stockaient des résultats de la fonction de temps () |
clock_t |
stockaient des résultats de la fonction d'horloge () |
DOSSIER |
utilisé pour accéder à un jet (habituellement un dossier ou un dispositif) |
ptrdiff_t |
type signé de la différence entre 2 indicateurs |
div_t |
stockaient des résultats de la fonction de division () |
ldiv_t |
stockaient des résultats de fonction de ldiv () |
fpos_t |
tenaient l'information de position de dossier |
va_list |
utilisé dans la manipulation variable d'argument |
wchar_t |
type de caractère large (utilisé pour les jeux de caractères prolongés) |
sig_atomic_t |
utilisé dans des traiteurs de signal |
Jmp_buf |
utilisé pour des sauts non-local |
Pour comprendre mieux ces variables nous ont laissés prendre un exemple :
/* Programme pour dire la gamme et la taille en bytes de la variable de C */
#include <stdio.h>
int main()
{
int a; /* simple integer type */
long int b; /* long integer type */
short int c; /* short integer type */
unsigned int d; /* unsigned integer type */
char e; /* character type */
float f; /* floating point type */
double g; /* double precision floating point */
a = 1023;
b = 2222;
c = 123;
d = 1234;
e = 'X';
f = 3.14159;
g = 3.1415926535898;
printf( "\nA char is %d bytes", sizeof( char ));
printf( "\nAn int is %d bytes", sizeof( int ));
printf( "\nA short is %d bytes", sizeof( short ));
printf( "\nA long is %d bytes", sizeof( long ));
printf( "\nAn unsigned char is %d bytes",
sizeof( unsigned char ));
printf( "\nAn unsigned int is %d bytes",
sizeof( unsigned int ));
printf( "\nAn unsigned short is %d bytes",
sizeof( unsigned short ));
printf( "\nAn unsigned long is %d bytes",
sizeof( unsigned long ));
printf( "\nA float is %d bytes", sizeof( float ));
printf( "\nA double is %d bytes\n", sizeof( double ));
printf("a = %d\n", a); /* decimal output */
printf("a = %o\n", a); /* octal output */
printf("a = %x\n", a); /* hexadecimal output */
printf("b = %ld\n", b); /* decimal long output */
printf("c = %d\n", c); /* decimal short output */
printf("d = %u\n", d); /* unsigned output */
printf("e = %c\n", e); /* character output */
printf("f = %f\n", f); /* floating output */
printf("g = %f\n", g); /* double float output */
printf("\n");
printf("a = %d\n", a); /* simple int output */
printf("a = %7d\n", a); /* use a field width of 7 */
printf("a = %-7d\n", a); /* left justify in
field of 7 */
c = 5;
d = 8;
printf("a = %*d\n", c, a); /* use a field width of 5*/
printf("a = %*d\n", d, a); /* use a field width of 8 */
printf("\n");
printf("f = %f\n", f); /* simple float output */
printf("f = %12f\n", f); /* use field width of 12 */
printf("f = %12.3f\n", f); /* use 3 decimal places */
printf("f = %12.5f\n", f); /* use 5 decimal places */
printf("f = %-12.5f\n", f); /* left justify in field */
return 0;
}
|