Fuente de la pregunta: entrevista de Aricent
Aunque ambas expresiones se pueden usar para crear una variable para almacenar un carácter, existen las siguientes diferencias.
1) «char a» representa una variable de carácter y «char a[1]» representa una array de caracteres de tamaño 1.
2) Si imprimimos el valor del carácter a, obtenemos el valor ASCII del carácter (si se usa %d). Y si imprimimos el valor de char a[1], obtenemos la dirección del único elemento en la array.
#include <stdio.h> int main () { char a1 = 'A'; char a2[1] = {'A'}; printf("%d %d", a1, a2); return 0; }
Producción:
65 An address
Este artículo es una contribución de Abhishek . Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA