Das Array Password hat 6 Elemente, wobei Array[5] '\0' ist, also 0.
sizeof(Password) wird dementsprechend 6 (6 * sizeof(char)) zurückgeben. Jeder char* String wird mit 0 terminiert in C/C++.
Dir ist hoffentlich klar, dass der Compiler bei deiner Makrodefinition nicht den Ausdruck ausrechnet und das Ergebnis überall einfügt, sondern den kompletten Ausdruck an Stelle des Makros einfügt.
Lesezeichen