¿Qué función se utiliza en lenguaje C para determinar el tipo de una variable?
Ejemplo:
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
int main(int argc,char **argv)? //Programa principal
{
//Prueba el número de bytes ocupados por los tipos integrados en lenguaje C.
printf("El tamaño de char es: %d\n ", sizeof(char)); //El número de bytes de datos de caracteres,
printf("El tamaño de corto es :%d\n ",sizeof(corto));? //El número de bytes de datos enteros cortos
printf("El tamaño de int es: %d\n ", sizeof(int)); //Datos de forma
printf (" El tamaño de short int es: %d\n ", sizeof(short int)); // short int
printf(" El tamaño de long int es: %d\n ", sizeof (long int)); //Datos enteros largos
printf("El tamaño del flotador es: %d\n ", sizeof(float));? //Datos de coma flotante
printf("El tamaño de double es: %d\n ", sizeof(double)); //Datos de doble precisión
//Medición de caracteres y caracteres El número de bytes ocupados por la matriz de cadenas.
char a[] ={'a ', ' b ', ' c ', ' d ', ' e ' };
printf("El tamaño de a[] es :%d\n ", sizeof(a)); //El número de bytes ocupados por la matriz de salida a[]
char b[]= { " abcde " };? //Inicializar cadena b
printf(" El tamaño de b[] es: %d\n ", sizeof(b)); //Array b[]
char c [][3]={{'a','b','c'},{'d','e','f'},{'g','h','i'},{ 'j', 'k', 'l' } }? //Inicializa la matriz de caracteres bidimensionales
printf("El tamaño de c[][] es: %d\n ", sizeof(c));? //El número de bytes ocupados por la matriz bidimensional C
printf("El tamaño de c[0] es: %d\n ", sizeof(c[0])); En la matriz bidimensional El número de bytes ocupados por una determinada línea (como la línea 0).
printf("El tamaño de c[0][0] es: %d\n ", sizeof(c[0][0]));? //Un elemento en una fila, como el elemento 0 en la fila 0.
//Medición del número de bytes ocupados por el puntero
char * p = 0;
printf("el tamaño de *p es: %d \n ", sizeof(p)); //Puntero de carácter
Sistema("pausa");
Devuelve 0;
}
Datos extendidos
Utilice sizeof() para calcular la longitud de la matriz.
Usar sizeof en expr no calculará el valor de expr. En particular, en sizeof *p, el puntero p puede ser una dirección no válida, ya que no es necesario eliminar la referencia a p.
El resultado de realizar la operación sizeof en una expresión de tipo char o un valor de tipo char es 1. La operación Sizeof en un tipo de referencia devuelve la cantidad de espacio de memoria necesaria para almacenar un objeto de ese tipo de referencia.
La operación Sizeof en un puntero devolverá el tamaño de memoria requerido para almacenar el puntero.
Tenga en cuenta que si desea obtener el tamaño del objeto al que apunta un puntero, debe eliminar la referencia al puntero. Realizar la operación Sizeof en una matriz equivale a multiplicar el resultado de la operación sizeof en sus elementos por el número de elementos de la matriz.
Debido a que sizeof devuelve la longitud de almacenamiento de toda la matriz en la memoria, puedes obtener el número de elementos de la matriz usando el resultado de la matriz sizeof como primer resultado de su tipo de elemento: int SZ = sizeof( ia)/sizeof(* ia);
Por lo general, un bloque de 8 bits se considera un byte y un bloque de 32 bits o 4 bytes se considera una "palabra". Generalmente, short tiene media palabra de máquina e int tiene una palabra de máquina.