string are joined when adjacent.
strings are an array of basic_data_type, characters, where each character is a byte. - the c compiler puts a null character at the end of the array, to mark the end of the array.
null character := a byte with characters all zero. 00000000, '\0' or
0x00
char *p;
p = "abc"; // p stores address of 'a'
char ch;
ch = "abc"[1]; // stores 'b'
// use case
char digit_to_hex_char(int digit)
{
return "0123456789ABCDEF"[digit];
}cc .numberLines} printf(“”); // legal printf(‘’); // wrong!
char *p p[0] = ‘a’; // wrong and undefined behavior, p is not initialised ~~~
An array of charcters can be changed but a string literal is constant.