C语言中sizeof与strlen的区别
sizeof是一个操作符。
用来计算变量(类型)所占内存空间的大小,不关注内存中存放的具体内容。
strlen是一个库函数。
用来求字符串长度,只针对字符串。
从参数给定的地址向后一直找到\0,统计\0之前出现的字符个数。
sizeof在自定义函数中不能正确计算从外部传来的数组变量的内存大小
sizeof在自定义函数中不能正确计算外部传来的数组大小,因为外部数组传入函数会被当做指针变量,所以在自定义函数中sizeof返回的是指针的长度。
sizeof是一个操作符。
用来计算变量(类型)所占内存空间的大小,不关注内存中存放的具体内容。
strlen是一个库函数。
用来求字符串长度,只针对字符串。
从参数给定的地址向后一直找到\0,统计\0之前出现的字符个数。
sizeof在自定义函数中不能正确计算外部传来的数组大小,因为外部数组传入函数会被当做指针变量,所以在自定义函数中sizeof返回的是指针的长度。