关于作为函数形参的数组的长度,该如何处理

关于作为函数形参的数组的长度
C/C++ code

struct point
{
int x;
int y;
};

point fun(char*pt,short AP)
{
.........
}

void main()
{
short ap=2;
point pt[5];//每个pt都代表一个传感器的节点坐标
pt[0].x=1;
pt[0].y=4;
pt[1].x=2;
pt[1].y=6;
fun(pt,ap);
}


我想在函数fun()里判断主函数的pt的数目——也就是传感器的数目,跟ap的量是不是一致的,请问怎么判断?

------解决方案--------------------
退化为指针,没法判断。除非你修改C/C++规则
------解决方案--------------------
struct point
{
int x;
int y;
int flag; //初始化了 就置1做标志
};

函数里面遍历节点 判断flag
------解决方案--------------------
C/C++没有内存边界检查的功能,所以这个是没有办法的,除非你自己编写类,让你的类具备这样的功能。