password is an array of strings.
the first element of the array is initialised to "password", by using the name of the whole array as a pointer to it's first element
In your loop you try and overwrite it immediately, because password[0] is the same as *password, and you start with x = 0;
Your loop never gets to run, because your condition x > *length fails immediately, since you initialised x to 0 in the same line. Unless the length of your string is somehow negative.
On line 13, youre trying to initialise the other elements, but you're using a char instead of a string. So through the magic of default construction, you would end up with an array of one character long strings. chartabel[x][y] is a single character, not a string.