Tipi per un fine particolare comunemente usati:
Tipo variabile |
Descrizione |
size_t |
tipo unsigned usato per immagazzinare i formati degli oggetti nei byte |
time_t |
ha usato immagazzinare i risultati della funzione di tempo () |
clock_t |
ha usato immagazzinare i risultati della funzione dell'orologio () |
LIMA |
usato per l'accesso a del flusso (solitamente una lima o un dispositivo) |
ptrdiff_t |
tipo firmato della differenza fra 2 indicatori |
div_t |
ha usato immagazzinare i risultati della funzione di divisione () |
ldiv_t |
ha usato immagazzinare i risultati della funzione del ldiv () |
fpos_t |
ha usato tenere le informazioni di posizione della lima |
va_list |
usato nel maneggiamento variabile di discussione |
wchar_t |
tipo di carattere largo (usato per le serie di caratteri estese) |
sig_atomic_t |
usato negli alimentatori del segnale |
Jmp_buf |
usato per i salti non-local |
Per capire più meglio queste variabili li hanno lasciati fare un esempio:
/* Programma per dire alla gamma ed al formato nei byte della variabile di 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;
}
|