En lenguaje C, la inicialización de variables se completa durante la fase de compilación. ¿Por qué está mal?
En el ámbito local, las variables locales existen en la pila, mientras que a las variables globales se accede de forma estática, por lo que son variables diferentes.
Otro lenguaje especial sobre char es char *, que tiene una semántica especial en C/C++, que es diferente de char * firmado y char * sin firmar. Se usa especialmente para referirse a una cadena terminada en '\. 0'.
Datos extendidos:
El número de parámetro es el código de carácter convertido, el rango de valores es 0 ~ 255, char ocupa un byte, es decir, ocho bits binarios, pero lo significa es un tipo con signo, por lo que el rango de valores es -128 ~ 127; Uchar representa un tipo sin signo, por lo que el rango es 0 ~ 255.
Los números enteros y los caracteres son interoperables. La esencia de cómo se almacenan en la memoria es la misma, pero el rango de almacenamiento es diferente. Los números enteros pueden tener 2 bytes, 4 bytes u 8 bytes, mientras que los caracteres solo ocupan 1 byte.