Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Char e String | Tipos de Dados e Variáveis
Fundamentos de C

bookChar e String

Em C, não existe um tipo de dado dedicado para strings (texto). Em vez disso, o texto é armazenado como um array de char, onde cada elemento armazena um único caractere. Por exemplo, o texto c<>definity seria representado como uma sequência de caracteres armazenados em tal array.

char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};

Você pode notar que o texto "c<>definity" possui 11 caracteres, mas o array contém 12 elementos. Esse elemento extra armazena o terminador nulo \0, que indica o fim de uma string em C.

Não é o número zero, mas sim um caractere especial, não imprimível (código ASCII 0), que informa ao programa onde a string termina.

Note
Nota

Sempre garanta que seu array de caracteres tenha um elemento a mais do que o texto armazenado para acomodar esse terminador.

É fundamental reconhecer que 'x' e "x" não são a mesma coisa.

Uma string consiste em caracteres. Sempre lembre-se de finalizar uma string com o caractere \0.

  • 'x' é simplesmente uma constante de caractere do tipo char;
  • "x" é uma string, um array de valores char, ou, neste caso, {'x', '\0'}.
Note
Nota

Não confunda '\0', '0' e "0". '\0' é o caractere nulo (ASCII 0), '0' é o dígito zero (ASCII 48), e "0" é uma string contendo o dígito zero mais o terminador \0.

Saída de String

Em C, para exibir strings (arrays de valores char), utiliza-se o especificador %s. Esse especificador orienta a função printf() sobre o tipo de informação que deve esperar. Ao usar %s, informamos à função printf() que ela receberá uma string.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }

A linguagem C inclui uma biblioteca padrão para manipulação de strings, <string.h>. Dentro dessa biblioteca, existe uma função que conta o número de caracteres em uma string:

main.c

main.c

copy
123456789101112
#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Note
Nota

Lembre-se, até mesmo um espaço é um caractere e requer seu próprio espaço no array. Por exemplo: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

Ao utilizar um índice, é possível acessar os elementos da string. Como as strings são essencialmente arrays de char, também é possível modificar caracteres individuais por meio de seus índices.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
question mark

Qual das alternativas declara corretamente uma string em C?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 2.63

bookChar e String

Deslize para mostrar o menu

Em C, não existe um tipo de dado dedicado para strings (texto). Em vez disso, o texto é armazenado como um array de char, onde cada elemento armazena um único caractere. Por exemplo, o texto c<>definity seria representado como uma sequência de caracteres armazenados em tal array.

char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};

Você pode notar que o texto "c<>definity" possui 11 caracteres, mas o array contém 12 elementos. Esse elemento extra armazena o terminador nulo \0, que indica o fim de uma string em C.

Não é o número zero, mas sim um caractere especial, não imprimível (código ASCII 0), que informa ao programa onde a string termina.

Note
Nota

Sempre garanta que seu array de caracteres tenha um elemento a mais do que o texto armazenado para acomodar esse terminador.

É fundamental reconhecer que 'x' e "x" não são a mesma coisa.

Uma string consiste em caracteres. Sempre lembre-se de finalizar uma string com o caractere \0.

  • 'x' é simplesmente uma constante de caractere do tipo char;
  • "x" é uma string, um array de valores char, ou, neste caso, {'x', '\0'}.
Note
Nota

Não confunda '\0', '0' e "0". '\0' é o caractere nulo (ASCII 0), '0' é o dígito zero (ASCII 48), e "0" é uma string contendo o dígito zero mais o terminador \0.

Saída de String

Em C, para exibir strings (arrays de valores char), utiliza-se o especificador %s. Esse especificador orienta a função printf() sobre o tipo de informação que deve esperar. Ao usar %s, informamos à função printf() que ela receberá uma string.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }

A linguagem C inclui uma biblioteca padrão para manipulação de strings, <string.h>. Dentro dessa biblioteca, existe uma função que conta o número de caracteres em uma string:

main.c

main.c

copy
123456789101112
#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Note
Nota

Lembre-se, até mesmo um espaço é um caractere e requer seu próprio espaço no array. Por exemplo: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

Ao utilizar um índice, é possível acessar os elementos da string. Como as strings são essencialmente arrays de char, também é possível modificar caracteres individuais por meio de seus índices.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
question mark

Qual das alternativas declara corretamente uma string em C?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6
some-alt