14
The issue should not even exist. You should adopt a more elegant idiom of writing your malloc's as
ptr = malloc(N * sizeof *ptr)
i.e. avoid mentioning the type name as much as possible. Type names are for declarations, not for statements.
That way your mallocs will always be type-independent and will look consistent. The fact that the multiplication by 1 is superfluous will be less obvious (since some people find multiplication by sizeof(char) annoying).
They're equivalent, but it's good to remain consistent. It also makes it more explicit, so it's obvious what you mean. If the type ever changes, it's easier to find out what code needs to be updated.