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 :