c语⾔指针数组长度,c如何获取指针数组的长度?我⽆法到指针数组的长度.假设我有:
sizeof 指针char array[40] = "hello"; // size 40
int length = sizeof array / sizeof array[0]; // no problem returns 40
//如何获取数组的长度,只有指向该数组中第⼀个元素的指针?
char* pchar = array;
//如果
std::strlen(pchar); // this returns the length i want length 40
//如果
int count = 0;
while(true)
{
if(*(pchar + count) == '\0') //
break;
count++;
}
如何让它从⼀个指针返回数组中第⼀个元素的长度40?
我发现我可以做到这⼀点.
int count = 0;
while(true)
{
if(*(pchar + count) == '\0' && *(pchar + count + 1) != '\0')
break;
count++;
}
这返回39,这是好的,但我觉得在某些情况下,这可能是错误的.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。