sizeof doesn't work

I got only a size of 2, but is is 6 (or 7)

long makerow(char wrdes[]){
  Serial.println(wrdes);
  Serial.println(sizeof(wrdes));
  return sizeof(wrdes);
}
makerow("AbCdEf");
Serial.println(sizeof("AbCdEf"));
delay(100000);
}

These functions should gife the same number, but the function returns 2.
What went wrong?

The results:
2
2
AbCdEf

You are taking the size of a pointer, not the array itself.

If wrdes contains a properly zero-terminated character string, use strlen() to get its length.

When an array is passed through a parameter list of a function, the function does not “know” the size of the array. That is why C library functions that take an array as a parameter also need the length of the array, or need a marker [such as the one that strlen() uses] to mark the end of the array.