*   >> Leitura Educação Artigos >> science >> programação

Um olhar aprofundado sobre C ++ Núcleo de Cordas

'; * (++ str) = 'n'; * (++ str) = 'g'; * (++ str) = '\\ 0'; --str; --str; --str; --str; --str; --str; cout retornar 0; } No código, o ponteiro para um char é declarado primeiro. Em seguida, o valor deste ponteiro é feito 's'. O ponteiro é incrementado um número de vezes, e para cada incremento, um char é atribuído. '\\ 0' é atribuído para o último incremento. Você agora tem uma série contínua na memória com a palavra, "string"; no final desta palavra, você tem '\\ 0'. Depois disso, o ponteiro é reduzido para apontar para o primeiro caractere, 's', na seqüência.

O objeto cout do cabeçalho iostream foi concebido de tal forma que levaria o ponteiro para um char e exibir os caracteres que começam a partir desse ponteiro até que ele vê \\ 0. Isso é o que o penúltimo declaração no código acima faz. Experimente o código. Núcleo de matriz e da corda Uma matriz pode ser utilizado para definir uma cadeia de núcleo. O nome de um array é um ponteiro constante. Ao contrário do ponteiro vimos acima, você não pode incrementar o nome da matriz, pois é constante. No entanto, você pode definir uma seqüência de núcleo usando uma matriz.

Vimos acima que uma string é uma série de caracteres em células de memória consecutivos eo último personagem (char) dessas células é \\ 0. Então, para usar uma matriz para definir uma string, deixe a matriz ser uma matriz de caracteres; o último caractere da matriz deve ser um \\ 0. O código a seguir ilustra isso: #include using namespace std; int main () {char str [] = {'a', '', 's', 't', 'r', 'i', 'n', 'g', '\\ 0'}; cout retornar 0; } O valor da cadeia é "uma corda". Note-se que, a fim de ter um espaço como um carácter tipo I, ''. Digitado um espaço entre aspas simples.

Em memória desse espaço será representado por um pedaço de código de um byte de comprimento. Nota: o nome da matriz é um ponteiro (ponteiro constante) que aponta para o primeiro elemento da matriz (neste caso, de caracteres). O objeto cout irá enviar todos os personagens começam a partir do ponteiro, até que ele vê \\ 0. A String de índice constante Quando você digita uma cadeia de caracteres entre aspas duplas em C ++, que (texto entre aspas) é chamado uma string literal. Uma cadeia vazia literal é a abertura e fechamento aspas duplas apenas ao lado um do outro.

As aspas (vazias ou não) retorna um ponteiro para o primeiro caractere de uma string cujo conteúdo é constante. O código a seguir ilustra isso: #include using namespace std; int main () {const char * str = "a string

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.