The sizeof
operator is returning the size of the pointer. If you want the length of a string, use the strlen
function.
Even if you had an array (e.g. char s[] = "hello world"
) the sizeof
operator would return the wrong value, as it would return the length of the array which includes the string terminator character.
Oh and as a side note, if you want a string pointer to point to literal string, you should declare it const char *
, as string literals are constant and can't be modified.