这里数组传参的时候传的不是首元素地址吗?那我后期是怎么知道※end=\0呢

img


这里数组传参的时候传的不是首元素地址吗?那我后期是怎么知道※end=\0呢

你把问题说清楚,有点没理解你的意思;
有一个while循环嘛,当*end==‘\0'是循环才停止

比如
1234abcd: 31 32 00
str为1234abcd
start和str一样
end为1234abcf
my_strlen函数返回2

这里传参应该取数组地址传,加上&,my_strlen(&arr);end!='\0'是因为end表示的是指针指向的字符,所以*end可以与结束符'\0'作判断,end++就是指针往后移位,最终会移到末位结束符