Leudassdf Posted March 13, 2015 at 10:31 PM Report Share #579361 Posted March 13, 2015 at 10:31 PM Boas pessoal, Tenho o seguinte código para exemplificar o meu problema: #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char *t; }N; int main(void) { N *teste = NULL; teste = (N *)malloc(sizeof(N)); teste->t = (char *)malloc(100); printf("Tamanho da memoria=%d\n",sizeof(*(teste->t))); } o que eu queria era obter o valor 100 que foi o espaço que reservei... No entanto nao consigo obter o mesmo. Alguém sabe como posso resolver? Cumprimentos, Leandro Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 14, 2015 at 12:06 AM Report Share #579368 Posted March 14, 2015 at 12:06 AM a um ponteiro não está associado a quantidade de memória alocada pela chamada da função malloc. o que estás a fazer com esse código é obter o tamanho do bloco de memória do tipo de dados redireccionado (que é um char = 1 byte) conclusão : é impossivel obter o valor que pretendes IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Leudassdf Posted March 15, 2015 at 12:09 AM Author Report Share #579449 Posted March 15, 2015 at 12:09 AM a um ponteiro não está associado a quantidade de memória alocada pela chamada da função malloc. o que estás a fazer com esse código é obter o tamanho do bloco de memória do tipo de dados redireccionado (que é um char = 1 byte) conclusão : é impossivel obter o valor que pretendes hum.... sendo assim vou ter que repensar na minha estrutura. Obrigado pela resposta. Cumprimentos, Leandro Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now