请问在C或VC中有没有函数能得到数组中元素的个数?以及有没有函数能判断某一变量在数组中的位置.

解决方案 »

  1.   

    用template
    CArray<TYPE,ARG_TYPE>
    里面就有这些功能,还有其他的强大的功能,牛!
      

  2.   

    如果是在栈上的数组,可以利用sizeof:
    float f[10];
    int nCount = sizeof(f) / sizeof(float);
    如果是在对上申请的,就必须在这之前记住数组的大小:
    int nCount = 10; // 如果以后这个值“丢”了,你就没办法获得数组的大小了
    float *f= new float[nCount];至于判断变量在数组中的位置,STL之中有些查找算法,不过不知道是不是你要的。
    或者你也可以参照《数据结构》上边自己编写一些函数来实现功能。
      

  3.   

    你说的元素个数是所有元素还是已经填充的元素个数?如果是前者,sizeof除类型长度
    ,如果是后者设定个long变量m_iCount(初值为0),每填充一个就m_iCount++,写个GetCount函数返回m_iCount
      

  4.   

    sizeof(数组) / 数据类型大小(bit)   
    数据类型大小(bit)   比如int 就是4
      

  5.   

    #define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))