Red de conocimientos sobre prescripción popular - Conocimiento de perdida de peso - ¿Qué función se utiliza en lenguaje C para determinar el tipo de una variable?

¿Qué función se utiliza en lenguaje C para determinar el tipo de una variable?

No existe ninguna función en lenguaje C para determinar el tipo de una variable. sizeof se puede utilizar para determinar el tamaño 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.