sizeof和strlen计算形参的问题
strlen运行的原理是,函数一直会往后遍历,直到遇到\0或者开辟的内存结束
sizeof运行的原理是,函数只会计算指定大小的内存空间的字节大小,不会自动往后遍历。
所以在生成数字的函数区域内,数组名的值是数组首元素的地址,但是数组所具有的编程意义是这个连续的地址空间,所以在本区域内对数组名的操作就是对整个连续空间的操作。
但是当数组名作为参数传递进入子函数中时,是通过复制数组名地址的形式传递的一个指针,这个指针在子函数中就只是一个指针 不再是数组名,所以不具有连续地址空间的意义。
这就是,子函数中可以使用strlen,不可以使用sizeof操作数组形参的原因
(谨记:指针类型的形参只是单个指针,不是数组)