前言:我先想讲一个关于指针的问题,由于我一开始学习指针的时候很困惑,现在分享给大家。
假设我们定义一个指针p,我们首先要区分p、&p与*p的区别(对于初学者应该和我一开始一样迷茫)
p:p是一个指针变量的名字,表示此指针变量指向的内存地址,如果用%p输出的话它将是一个16进制位的数。
*p:*是解引用操作符,所以*p表示指针指向内存地址中所存放的内容,一般是和指针一样的变量或常量。
&p:&是取地址操作符,所以&p表示取指针p的地址
搞懂这些,我们开始用指针来求字符串个数:
注:指针-指针的绝对值=两者之间的元素个数
第二种方法:函数递归
函数递归 把大事化小
my_strlen("abc");
1+my_strlen("ab");
1+1+my_strlen("c");
1+1+1+my_strlen("\0");
最后总结:任何题目,无论是编程还是其他,每道题的解答都不是唯一的,找到自己感兴趣并熟练掌握才是最重要的,同样,上边这道关于求解字符串长度的题的解答也不是唯一的,小伙伴们可以想一下其他方法并在评论区讨论。