关于memset对字符串数组的置零

对于一个字符串数组,用memset进行置零,比如

memset(a, 0, sizeof(a))
memset(a, 0, strlen(a))

这两种写法好像都能把一个字符串a置零,有什么区别吗?
我的想法是strlen使得置零只改变了原本有字符的位置,所以更快?

sizeof是算字节。strlen是算字符串长度,也就是个数,因为char就是一个字节。所以对于string算sizeof和strlen是差不多的。
但sizeof会多1,因为有\0