如何利用指向数组的指针得到数组元素个数?

如何利用指向数组的指针得到数组元素个数?
问题背景:
我得到了一个元素个数不确定的数组
array={element1,element2……}
现在将一个指针指向数组
char * pArray ;
pArray= array;
如果要通过指针处理数组中每个元素, 直到所有元素操作一遍
*(pArray+i)
问题来了:i是多少?如何得到这个i ?
网络上搜罗来的办法:
办法1、
判断指针是否为空
while(*pArray)
{
i++;
pArray++;
}
方法2、
一般数组都会带一个长度,比如定义的时候确定的长,比如结构体中元素1是长元素2是数组
但是这里肯定是用不到了
错误的办法:
错1、
sizeof(pArray)/sizeof(pArray[0]) //我刚开始就是这样做的,实际这TM是算指针长度的,怎么着结果都是1
错2、
while(++pArray!=NULL) //判断指针还是用nullptr吧
我的解决办法:
我的1、
while(pArray!=nullptr)
{
++i;
++pArray;
}
我的2、
iterator迭代器,我刚才想起来的,具体没验证,再说吧

posted @ 2018-04-13 17:41  一只羊JAS  阅读(5774)  评论(1编辑  收藏  举报