Compartilhamento de tecnologia

Notas e código de "Programação em linguagem C 4ª edição", Capítulo 10 Strings

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

capítulo dez corda

10.1 string literal

1 string literal(ou seja, uma constante de string), que é um valor entre aspas duplassequência de caracteres . Não importa quantos caracteres estejam entre aspas duplas, eles representam uma string literal.

2 "a" é uma string literal e 'a' é uma constante de caractere, que são diferentes.

3 A corda é na verdade composta de váriosCaracteres válidosUma sequência de caracteres que termina com '0'.

10.2 Armazenamento de strings

1 acesso por stringmatriz de caracteres para cumprir.Mas armazenado em uma matriz de caracteresincertoé uma string apenas se seu último elemento for’0’Só então representa uma string.

2 O sinalizador de final de string '0' também indica que ela também ocupaum bytememória, mas não incluído na stringComprimento real

3 É permitida uma forma de inicialização de string:

caracteres str[6]={'h','e','l','l','0','0'};

Você também pode omitir a declaração do comprimento do array (porque o comprimento é óbvio, mas observe que '0' não pode ser omitido):

char str[ ]= {'h','e','l','l','0','0'};

Ou inicialize a matriz de caracteres com uma constante de string:

char str[ ]={“olá”};

Você também pode omitir as chaves diretamente:

Char str[ ]=”olá”;

4 Observe sempre que deve haver espaço de armazenamento suficiente para armazenar o identificador final da string. Portanto, o tamanho da matriz de caracteres é sempre maior que o número real de caracteres na string.Mais um

5 Uma matriz bidimensional éArmazenar por linha, portanto, o sistema deve ser informado sobre o comprimento da primeira linha e, quando o comprimento da string fornecida pela lista de inicialização for menor que o comprimento de cada linha, o sistema alocará automaticamente as seguintes unidades”0”

10.3 Ponteiro de caractere

1 ponteiro de caractereÉ uma variável de ponteiro que aponta para dados de caracteres.

2 A própria string literal representa a área de armazenamento constante onde está armazenada.Primeiro endereço .Então basta mudar oAtribuição do primeiro endereçoAo fornecer uma variável de ponteiro, você pode fazer o ponteiro do caractere apontar para uma string.

3 cordas permanecem emArmazenamento constante somente leituraem, então ele só pode ser modificadovalor da variável ponteiro, não pode ser usado em variáveis ​​de ponteirolocalização da memória apontada paraExecute operações de leitura e gravação.

Apenas o valor de ptr pode ser modificado, não a unidade de armazenamento apontada por ptr, portanto *ptr='W';

4 Se a string for salva emuma matriz e, em seguida, aponte para ele com um ponteiro de caractere. Esta operação é legal. como: