定义个BYTE数组 BYTE A[100],但实际中不一定用完,小弟我如何能获得它的有效长度

定义个BYTE数组 BYTE A[100],但实际中不一定用完,我怎么能获得它的有效长度?
BYTE a[100];

a[0]=0x00; a[1]=0x02; .... //这里的数据长度是不定的,总之是在100以内

我怎么知道它的实际长度是多少呢?

------解决方案--------------------
TBytes a;
a.Length = 100;

a[0]=0x00; a[1]=0x02; ... a[n]=x;  //

a.Length = n; // 再把他设成实际长度


求长度:int Len = a.Length;

------解决方案--------------------
你用c++的话,可以考虑VECTOR
------解决方案--------------------
就算没用完它的长度还是100,你想问的是有效数据有多长吗,那要去问写入数据的人.
------解决方案--------------------
可以把全部数组初始化为一个特殊的数x,这个数x最好是整个数组的成员都不会有的值,然后给数组赋值,在判断数组成员个数的时候,做个判断试试:
for(char i=0;i<100;i++)
{
    if(a[i]!=x)
    {
        Length++;
    }
}