其他方法也可以,我是菜鸟!多谢多谢!typedef struct DBS_STR_ID_NAME
{
long ID;
CString NAME;
}STRIDNAME;
DBS_STR_ID_NAME *Arr_ID_NAME;
Arr_ID_NAME=new DBS_STR_ID_NAME[nRows];//指针指向
nRows 就是我想得到的值

解决方案 »

  1.   

    这个问题很难呀
    sizeof 只是对Char,CString;
      

  2.   

    int fnsizeof(void* Arr_ID_NAME){
     return *(int*)((char*)Arr_ID_NAME - sizeof(int));
    }
      

  3.   

    sizeof()只有传入数组名时才会得到该数组的实际大小,如果传入的是一个指针,则只会返回为4,
    如:
    char sz[100]; 
    ASSERT( 100 == sizeof( sz );但如果传入sizeof的为一个指针,则返回的是这个指针所占的内存大小,在win32下全部为4
    如:
    char sz[100]; 
    ASSERT( 100 == sizeof( sz ) );
    char* psz = sz;
    ASSERT( 4 == sizeof( psz ) );
      

  4.   

    同意kangfx(kanfx)你可以使用IsBadWritePtr\IsBadReadPtr这些API检查内存啊!!!!
    BOOL IsBadWritePtr(
      LPVOID lp,
      UINT_PTR ucb
    );
    BOOL IsBadReadPtr(
      const VOID* lp,
      UINT_PTR ucb
    );
    还有AfxIsMemoryBlock(const void *p,UINT nBYTEs,long *plResuestNumber = NULL)
    等等啊!!!!
      

  5.   

    force_eagle(战鹰)
    请教:这几个函数有什么用吗?
    我不知道怎么实现目的