Skip to content
Related Articles

Related Articles

Improve Article

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

  • Difficulty Level : Basic
  • Last Updated : 08 May, 2017

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

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.

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.
My Personal Notes arrow_drop_up
Recommended Articles
Page :