Ir ao conteúdo
  • Cadastre-se

rafaelrrf

Membro Pleno
  • Posts

    45
  • Cadastrado em

  • Última visita

Reputação

0
  1. Pessoal, Como seria possivel obter o numero de bytes de um endereço de um ponteiro? por exemplo: char x[100]; char *ptr; ptr = &x; sizeof(*ptr); O que eu tento fazer é dar um sizeof no conteudo do ponteiro, mas quando faço isso obtenho o numero de bytes do tipo do ponteiro. Alguma sugestao para obter o numero de bytes do endereço do ptr?
  2. rafaelrrf

    Struct

    Sim, mas vamos supor que o tamanho do atributo da struct, nós não conhecemos. Eu só quero saber se é possivel obter o numero de bytes atraves de um ponteiro de um atributo que é a apontado pelo mesmo.
  3. rafaelrrf

    SizeOf

    Pessoal se eu tenho uma struct Teste, por ex: struct Teste {int a;char b[10];}Teste;void main() {char *ponteiro;ponteiro = &Teste.b;printf("Sizeof do atributo B: %d", sizeof(ponteiro));} Porque quando dou o printf ele não me da o numero de bytes do atributo da struct? Ele está me dando o numero de bytes da variavel ponteiro, mas eu quero o numero de bytes do atributo que ela está apontando. Alguem saberia? Agradeço.
  4. rafaelrrf

    Struct

    Pessoal, se eu tenho um ponteiro do tipo char que aponta para o endereço da struct "Teste", por exemplo: char *ponteiro = &Teste; Supondo que o endereço apontado pelo ponteiro seja 0x0001, ou seja, o endereço do primeiro atributo da struct. Como eu faria para incrementar esse ponteiro para que ele recebesse o endereço do segundo atributo da struct?
  5. rafaelrrf

    Ponteiros

    Legal @isrnick, ajudou muito. Resolvido.
  6. rafaelrrf

    Ponteiros

    Legal @isrnick, parece que este é o caminho. Afinal, pode me explicar o que está acontecendo no código? Agradeço.
  7. rafaelrrf

    Ponteiros

    Eu quero imprimir meu buffer. Sim, cada char ocupa 1 Byte. Vejamos um novo exemplo, tenho um vetor de char de 50 bytes : char buffer[50]. E uma variavel inteira: int x = 10. O que eu quero é passar apenas o valor de "x" para o "buffer", ou seja, como x tem 4 bytes, acredito que ocupara então 4 bytes no buffer. Sendo assim ocupará 4 posições no buffer, certo? Mas eu quero fazer essa passagem sem usar funções de conversão, como sprintf. O que eu quero é algo como passar o conteudo do endereço de cada byte do inteiro para o buffer usando ponteiros, mas n estou conseguindo fazer isso. Conseguiu entender?
  8. rafaelrrf

    Ponteiros

    E porque não consigo imprimir o vetor char com %s? Por exemplo: printf( "show int32_b: = %s\n", int32_b ); Isso quer dizer que algo foi modificado...
  9. rafaelrrf

    Ponteiros

    Mas em quais posições do array eu estou inserindo o numero 10 que é o valor de x? Como eu faria para inserir em outra posição? Pelo visto você esta convertendo o array para um inteiro com o cast, mas eu não quero me desfazer dele, preciso imprimir ele como uma string. Pois também tenho que inserir nesse array, caracteres, além dos valores inteiros. Seria possível?
  10. rafaelrrf

    Ponteiros

    Não quero usar nenhum tipo de conversão como sprintf etc. O que eu queria fazer era atribuir o valor inteiro que tem 4 bytes no meu sistema, para o vetor char, ocupando apenas 4 bytes no mesmo, seria possível?
  11. rafaelrrf

    Ponteiros

    Viventes, Se eu tenho um vetor char de 10 posições: char v[10]. E um inteiro x com valor 10: int x = 10. Como eu poderia passar para o vetor "v" o valor inteiro em "x" usando ponteiros?
  12. Amigo, tente ler novamente minha pergunta, acho que você não entendeu...
  13. Pessoal Eu tenho um vetor buffer do tipo char, e quero alocar nele um valor inteiro, como isso é possível sem utilizar a função sprintf ? e como obter o numero de numeros contidos no valor da variável? Pois o meu problema é que tenho uma estrutura, e tenho no corpo do programa um buffer que vai receber todos os atributos da estrutura, cada atributo na sua sequencia. E estou usando subtração de ponteiros obter o deslocamento de cada atributo no buffer, com o deslocamento obtido eu consigo armazenar os valores das variaveis na sua sequencia, mas o problema são as variaveis do tipo int e float na estrutura, porque quando faço o deslocamento com ponteiros, ele conta apenas 4 bytes(Tamanho de um int). E se eu tiver usado o sprintf, e inserido os valores no buffer, se o valor conter mais que 4 numeros, o ultimo provavelmente será sobreposto pelo proximo atributo da estrutura. Podem ajudar?
  14. rafaelrrf

    Macro de função

    Consegui fazer sem o return rs. Nao sei se é posivel usar esse comando em uma macro. Mas tudo bem. Um problema que ocorreu na macro é esse: note: in expansion of macro 'func' Sabe resolver isso?
  15. rafaelrrf

    Macro de função

    Hum isso eu entendo. O meu problema é que eu tenho uma função que está retornando um char *, e quero transformar ela em uma macro...

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

×
×
  • Criar novo...