Enviado em 07/03/2020 - 13:59h
OBS
Isso não é um exercício, estou apenas querendo entender para aprender mais.
Em algum lugar na Internet, Eu salvei o comando sizeof como forma de saber o tamanho que ocupa uma variável.
Porém HOJE ao tentar usá-lo não está me parecendo correto, visto que retorna valores diferentes do que EU esperava.
EM C, Eu entendi que:
int ocupa 2 Bytes (números inteiros de -32768 a 32767)
long ou long int ocupa 4 Bytes (números inteiros de -65536 a 65535)
PROBLEMA
No pequeno programa que fiz abaixo ele está me retornando valores diferentes do que EU esperava.
OBS Compilei da forma mais simples possível: gcc Test.c -o Test
RESUMO
Ele está retornando o DOBRO do valor que eu esperava! O que aconteceu?
O que estou fazendo de errado?
Estou usando o comando "sizeof" corretamente?
O comando "sizeof" é o correto para saber quanto uma variável está ocupando na memória?
Isso não é um exercício, estou apenas querendo entender para aprender mais.
Em algum lugar na Internet, Eu salvei o comando sizeof como forma de saber o tamanho que ocupa uma variável.
Porém HOJE ao tentar usá-lo não está me parecendo correto, visto que retorna valores diferentes do que EU esperava.
EM C, Eu entendi que:
int ocupa 2 Bytes (números inteiros de -32768 a 32767)
long ou long int ocupa 4 Bytes (números inteiros de -65536 a 65535)
PROBLEMA
No pequeno programa que fiz abaixo ele está me retornando valores diferentes do que EU esperava.
#include <stdio.h>
int main(void) {
int A = 17;
long B = 20;
long int C = 27;
printf ("A possue %d Bytes\n", sizeof(A)); // A possue 4 Bytes | Esperava que ele retorna-se 2 Bytes
printf ("B possue %d Bytes\n", sizeof(B)); // B possue 8 Bytes | Esperava que ele retorna-se 4 Bytes
printf ("C possue %d Bytes\n", sizeof(C)); // C possue 8 Bytes | Esperava que ele retorna-se 4 Bytes
}
OBS Compilei da forma mais simples possível: gcc Test.c -o Test
RESUMO
Ele está retornando o DOBRO do valor que eu esperava! O que aconteceu?
O que estou fazendo de errado?
Estou usando o comando "sizeof" corretamente?
O comando "sizeof" é o correto para saber quanto uma variável está ocupando na memória?