¿Cuál es la diferencia entre «char a» y «char a[1]»?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *