Nós seguramos um (string) de caracteres frase de caráter. Isso não é bom; devemos ter uma maneira de lidar com ou referindo-se a uma frase (string) usando um identificador e não muitos identificadores (os elementos do array) como no caso acima. Para alcançar este objectivo, os inventores da C decidido que, no final da matriz de adicionar o carácter nulo, \\ 0, então C deve considerar o conjunto de caracteres na matriz como uma cadeia de caracteres e um identificador pode ser utilizado para identificar (consulte ou lidar com) a seqüência de caracteres.
O caractere nulo começa com uma barra de trás, seguido de zero, que é \\ 0. O identificador que os identificadores a matriz resultante é o identificador para a string. Leia e tente o seguinte código que ilustra isso: #include int main () {char myStr [] = {'t', 'h', 'e', '', 'm', 'a', 'n', '\\ 0'}; printf (myStr); retornar 0; } Observe que o identificador, myStr na função printf não está entre aspas. No código, o último elemento na matriz é o caráter nulo. É entre aspas simples, como o resto dos personagens.
Agora, o nome da matriz que era suposto ser o identificador de um ponteiro constante para o primeiro elemento (objeto) da matriz e deve retornar o endereço do primeiro elemento (objeto) da matriz, agora retorna a seqüência de caracteres (caracteres da matriz ), quando colocado num contexto particular, porque a matriz é feita de caracteres e termina com '\\ 0'. Todos os personagens do array são devolvidos, exceto o caractere nulo. Normalmente, um ponteiro não deve devolver qualquer valor do objeto pontiagudo ou objetos pontiagudos.
No código acima, a função printf (contexto) foi projeto de tal forma que, se ele recebe um ponteiro para uma matriz de caracteres que terminam com, \\ 0, ele deve retornar todos os caracteres na matriz, exceto o \\ terminando 0. Tal ponteiro ainda aponta para o primeiro elemento da matriz, mas num contexto (fun