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
Contact Us