[Solved] Pointer array and structure in C


struct a s1={"Hyderabad","Bangalore"}; assigns “Hyderabad” to ch and “Bangalore” to str.

printf("\n%c%c",s1.ch[0],*s1.str); prints the first character of the strings. Since ch is an array, ch[0] represents its first character. Since str is a character pointer, it points to the first character of a string here. So, *s1.str will have value ‘B’

printf("\n%s%s",s1.ch,s1.str); simply prints all characters of both strings.
Fundamentally, ch is equal to &ch[0], the address of the first character in the array. And, str is pointer variable which holds the address of first character of the string literal “Bangalore”.

solved Pointer array and structure in C