Open In App

What is the difference between “char a” and “char a[1]”?

Question Source: Aricent Interview

Although both expressions can be used to create a variable to store one character, there are following differences.



1) “char a” represents a character variable and “char a[1]” represents a char array of size 1.

2) If we print value of char a, we get ASCII value of the character (if %d is used). And if we print value of char a[1], we get address of the only element in array.




#include <stdio.h>
  
int main ()
{
  char a1 = 'A';
  char a2[1] = {'A'};
  printf("%d  %d", a1, a2);
  return 0;
}

Output:



65
An address
Article Tags :