c - 数组 - 如何使用strlen()来查找字符指针的长度?

代码是:-


#include <string.h>



int foo(void) {


 char bar[128];


 char *baz = &bar[0];


 baz[127] = 0;


 return strlen(baz);


}



问题是:这个函数的可能输出什么?

当我运行此代码时,每次都会给出0,正确答案是0和127 (我还是不知道为什么),

我的意思是,怎么能找到一个指针地址的长度?

时间:

根据需要先从开始的地址读取内存,然后查看需要进行的第一个''字符,下面是如何实现返回字符串长度的函数的例子:


int strlen(char * str) {


 int length=0;


 while(str[length] != '') 


 length++;


 return length;


}



...