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.

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

65
An address

This article is contributed by Abhishek. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

My Personal Notes arrow_drop_up
Article Tags :
Practice Tags :


3


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.