DAVID J. MALAN: Vamos escrever um programa que solicita ao usuário para uma string e em seguida, proceder para imprimir essa string caráter de um personagem por linha. Agora, no passado, teria feito provavelmente com a notação de colchetes, tratar eficazmente uma string é um array de caracteres. Mas, desta vez, vamos tratar em vez uma corda para que ele realmente é, um ponteiro ou um endereço. Especificamente, o endereço de um personagem, realmente o endereço do primeiro caractere em uma seqüência de personagens que conhecemos coletivamente como uma string. Vamos primeiro declarar uma string para o que realmente é, char *. E nós vamos chamá-lo s. E, em seguida, atribuí-la a devolução valor da seqüência de get. Vamos próximo fazer alguma verificação de erros. Se s é nulo, vamos retornar imediatamente para que não acidentalmente desreferenciava que ponteiro nulo. Em seguida, vamos interagir sobre o caracteres de s como se segue. Para int, i recebe 0. n é igual ao comprimento da corda de s. Faça isso enquanto eu for menor que n. E em cada iteração, incrementar i. E o que nós queremos fazer em cada iteração? Vamos agora imprimir em cada iteração um único caractere seguido por uma nova linha. Bem, o personagem fazer queremos imprimir? Proponho que ir para o endereço que é igual à soma de s mais eu. Agora, por que essa expressão? Bem, lembre-se que armazenado em s é o endereço do primeiro caractere em nossa string, s. Enquanto isso, eu está sendo incrementado em cada iteração de modo que começa em 0, em seguida, vai para 1, em seguida, vai para 2. Portanto, em outras palavras, s mais eu efetivamente representa o endereço de o caráter i-th em s. Então, se vamos para o endereço por meio de o operador *, estaremos indo para o i-ésimo caractere da string. E esse é o valor que será substituído por nosso espaço reservado, por cento C. Vamos confirmar tanto. Vamos salvar, compilar e executar este programa. Faça ponteiros, ponteiros barra de pontos. E agora eu vou dar-lhe um string como Olá. Enter. E, de fato, eu vejo H-E-L-L-O, com cada caractere em sua própria linha.