vc pode fazer algo tão simples como: #define getTam(x) (sizeof(x) / sizeof(x[0]) ) William Paiva wrote:Boa tarde pessoal, Desenvolvendo aqui acabei ficando com mais uma dúvida, como eu faço para calcular o tamanho de um vetor dinâmico de void em C em tempo de execução? Exemplo: //Para um vetor de int tentei assim e funcionou unsigned int getTam(int dados[]){ return sizeof(dados) / sizeof(int); } //Para um char*/char[] posso usar o strlen e para um void[]/void*? Att. -- Antes de enviar um e-mail para o grupo leia: http://www.ccppbrasil.org/wiki/Lista:AntesdePerguntar --~--~---------~--~----~---------------------------------~----------~--~----~ [&] C & C++ Brasil - http://www.ccppbrasil.org/ Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com Para mais opções, visite http://groups.google.com/group/ccppbrasil --~--~---------~--~----~--~-~--~---~----~-----------------~--~----------~ Emprego & carreira: vag...@ccppbrasil.org http://groups.google.com/group/dev-guys?hl=en--Antes de enviar um e-mail para o grupo leia: http://www.ccppbrasil.org/wiki/Lista:AntesdePerguntar --~--~---------~--~----~---------------------------------~----------~--~----~ [&] C & C++ Brasil - http://www.ccppbrasil.org/ Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com Para mais opções, visite http://groups.google.com/group/ccppbrasil --~--~---------~--~----~--~-~--~---~----~-----------------~--~----------~ Emprego & carreira: vag...@ccppbrasil.org http://groups.google.com/group/dev-guys?hl=en
Sim francisco, eu pensei exatamente nisso, daí a dúvida sobre o tamanho de um void* (ele é o tipo mais próximo de object em c) pois como eu irei receber um array que eu não saberei o tamanho gostaria de calcula-lo em tempo de execução. Estou pensando errado?
/*
* JNI Types
*/
typedef unsigned char jboolean;
typedef unsigned short jchar;
typedef short jshort;
typedef float jfloat;
typedef double jdouble;
typedef jint jsize;
#ifdef __cplusplus
class _jobject {};
class _jclass : public _jobject {};
<snip>
typedef _jobject *jobject;
<snip>
#else
struct _jobject;
typedef struct _jobject *jobject;
typedef jobject jclass;
<snip>
#endif