Eric MGS
-
Posts
4 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Eric MGS
-
-
Pode dar um exemplo? Não entendi o que você disse que tem que fazer.
-
9 horas atrás, TYSQUARE89 disse:
@Eric MGS Em uma string só há char's(caracteres) relacionado a um decimal da tabela ascii, portanto sizeof(char) tem a mesma quantidade de bytes que sizeof(int)
Para ter os bytes de cada tipo, da string, você precisa separar esses valores, seja com scanf, etc, armazenar em uma variável temporária e depois usar sizeof
Você quis dizer pra fazer algo assim?
Continua dando errado.
void main (void){ char temp[5]; scanf("%s",temp); int tamanho = sizeof (temp); printf("Tamanho: %i", tamanho); }
-
//Programa que imprime a memória utilizada por tipos de dados #include <stdio.h> void rotina (char texto[6]) { int tamanho = sizeof (texto); printf ("%s:\n",texto); printf ("Tamanho em bytes: %i\n\n",tamanho); } void main (void){ rotina ("char"); rotina ("int"); rotina ("float"); }
Boa noite,
Estou querendo fazer um programa que imprima a quantidade de memória em bytes que cada tipo de dados ocupa (porque em máquinas diferentes os valores podem ser diferentes).
Inicialmente escrevi o código apenas com a função main, repetindo o printf para cada tipo de dado, da seguinte forma:
...
printf ("Tamanho em bytes: %i \n", sizeof (char);
printf ("Tamanho em bytes: %i \n", sizeof (int);
...
Deu certo,
Porém depois decidi tentar usar uma outra função para não precisar repetir o printf e fiz da maneira em que coloquei o código aqui.
O retorno que o programa está dando é sempre 4 bytes, ou seja, o tamanho de char texto[6].
Já percebi que o problema é que em sizeof (texto) o valor que está sendo devolvido é o tamanho da variável texto,
mas gostaria que no lugar de texto fosse inserido o conteúdo da variável, ou seja, as strings "char", "int" , "float" , para que fosse retornado o tamanho de cada tipo de dado respectivo.
Tentei escrever no lugar de sizeof (texto) assim:
sizeof ("%s",texto);
Porém não deu certo.
Gostaria de saber se existe alguma maneira de que no parâmetro de sizeof fosse inserido o conteúdo da variável (string) e não a própria variável.
Agradeço se alguém souber responder.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
String como parâmetro de sizeof ()
em C/C#/C++
Postado
Bom, resolvi deixar do jeito que estava antes, com algumas linhas a mais. Como sou iniciante logo eu aprendo novas funções e volto a tentar, se não vou acabar confundindo tudo.
Valeu aí pela ajuda.