Foros del Web » Programación para mayores de 30 ;) » C/C++ »

por que un char ocupa 4 bytes , por que?

Estas en el tema de por que un char ocupa 4 bytes , por que? en el foro de C/C++ en Foros del Web. por que un char ocupa 4 bytes, este es un puntero a char, imprimo su tamaño y ocupa 4 bytes... Código PHP: #include <stdio.h> #include <conio.h> #include <stdlib.h> ...
  #1 (permalink)  
Antiguo 17/06/2012, 17:32
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 5
por que un char ocupa 4 bytes , por que?

por que un char ocupa 4 bytes, este es un puntero a char, imprimo su tamaño y ocupa 4 bytes...

Código PHP:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>


int main(void)
{
    
char *c;   //  char *c=NULL;
    
printf("la variable puntero c ocupa %d bytes\n"sizeof(c));


en este otro ejemplo si ocupa 1 byte!

Código PHP:
int main(void)
{
    
char c 'x';
 
    
printf("dirección de la variable c es %p\n", &c);
    
printf("la variable c tiene un tamaño de %d byte\n"sizeof(c));

gracias,"
  #2 (permalink)  
Antiguo 17/06/2012, 17:52
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años, 7 meses
Puntos: 155
Respuesta: por que un char ocupa 4 bytes , por que?

...pues simple..un puntero es una variable que almacenará una direccion de memoria...por lo tanto, el size del puntero es igual al size de la direccion. Como por lo tanto, en arquitectura de 32bits, puedes almacenar hasta 32bits o 4 bytes en cada slot de memoria...por lo tanto, el size de la direccion es de 4bytes...en cambio en arquitecturas de 64bits, podrá almacer hata 8bytes y tendra dicho size...

saludos
  #3 (permalink)  
Antiguo 17/06/2012, 19:07
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: por que un char ocupa 4 bytes , por que?

ah claro tiene sentido... eso de que por memoria que despues lo leo bien... ocupa 4 bytes. POR QUE EL DATO QUE TIENE; DIRECCION DE MEMORIA OCUPA 4 bytes..


pero si coloco esto...


Código PHP:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>


int main(void)
{
    
char *c;   //  char *c=NULL;
    
printf("la variable puntero c ocupa %d bytes\n"sizeof(*c));  

//imprimo    el tamaño de *c   ,que es el valor   de la  supuesta variable char

    
printf ("2222222222%s222222",*c);

imprime NULL, por que no apunta a ningun lado, pero al ser declarada como char, su valor equivale a un char que es 1 byte
  #4 (permalink)  
Antiguo 18/06/2012, 19:34
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 6
Respuesta: por que un char ocupa 4 bytes , por que?

¿Ello también puede usarse en C++?
Cita:
sizeof(var)

Etiquetas: char, int, ocupa, variables, byte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:51.