Jump to content

Calcular o tamanho de um array apontador


Leudassdf
 Share

Recommended Posts

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

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
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.