Qual é a diferença entre como o tipo de dados do char é armazenado ou representado em 32 bits vs 64bits em c?
-
20-09-2019 - |
Pergunta
Qual é a diferença entre como o tipo de dados do char é armazenado ou representado em 32 bits vs 64bits em c?
Solução
Não há diferença.
Um char ocupa um byte.
Um byte tem bits char_bit.
#include <limits.h>
#include <stdio.h>
int main(void) {
printf("a char occupies 1 byte of %d bits.\n", CHAR_BIT);
return 0;
}
Outras dicas
Uma possível diferença é que os chars podem estar alinhados com limites de 64 bits em vez de 32 bits.
struct {
char a;
char b;
}
Pode ocupar 2 * 4 bytes em 32 bits e 2 * 8 bytes em 64 bits.
Editar -na verdade, não. Qualquer complier sã reembalaria uma estrutura apenas com chars no limite de bytes. No entanto, se você adicionou um 'longo c;' No final, tudo pode acontecer. É por isso que a) você tem sizeof () e b) Você deve ter cuidado fazendo coisas de ponteiro manual em c.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow