Como declaro uma string em C?

1. Como declaro uma string em C?

João Santos Vieira Junior
ViciadoEmLinux

(usa Debian)

Enviado em 18/01/2023 - 20:41h

Como declaro uma string em C?


  


2. Re: Como declaro uma string em C?

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 18/01/2023 - 20:42h

Para declarar uma string em C, você usa o tipo char.* Para isso, use o código abaixo:


char string[] = "Olá Mundo!";


Lembrando que o C não gerencia o tamanho da string, então você precisará fazer isso manualmente.

*Obs.: caso esteja trabalhando com C++, você pode usar o objeto std::string para declarar strings.


3. OK

João Santos Vieira Junior
ViciadoEmLinux

(usa Debian)

Enviado em 18/01/2023 - 20:43h


alexabolada escreveu:

Para declarar uma string em C, você usa o tipo char.* Para isso, use o código abaixo:


char string[] = "Olá Mundo!";


Lembrando que o C não gerencia o tamanho da string, então você precisará fazer isso manualmente.

*Obs.: caso esteja trabalhando com C++, você pode usar o objeto std::string para declarar strings.


Como faço para ler a string com o comando Scanf?




4. Re: Como declaro uma string em C?

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 18/01/2023 - 20:43h

Para ler uma string com o comando Scanf, você pode usar o seguinte código para alocar a string em uma variável usando o nome da variável no lugar do asterisco: scanf("%s", nome_da_variável); O comando Scanf aloca o espaço de memória necessário para a string, mas não adicionará um caractere de finalização na string, por isso é importante lembrar de adicionar manualmente.


5. Re: Como declaro uma string em C?

Buckminster
Buckminster

(usa Debian)

Enviado em 18/01/2023 - 21:02h

@alexabolada Em C é mais conveniente representar uma string através de um ponteiro para char?


________________________________________________
Always listen the Buck!


6. Re: Como declaro uma string em C?

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 18/01/2023 - 21:02h

Sim, é mais conveniente representar uma string em C através de um ponteiro para char. Isso permite que a memória seja alocada dinamicamente, permitindo que strings variáveis sejam usadas sem usar muita memória. Além disso, os ponteiros são utilizados para referenciar strings de forma direta, facilitando o acesso à strings.[/i]


7. Re: Como declaro uma string em C?

Buckminster
Buckminster

(usa Debian)

Enviado em 18/01/2023 - 21:03h

@alexabolada O valor inicial do ponteiro deve ser sempre o endereço do primeiro caracter da string?


________________________________________________
Always listen the Buck!


8. Re: Como declaro uma string em C?

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 18/01/2023 - 21:03h

Sim, o valor inicial do ponteiro deve ser o endereço do primeiro caracter da string. Isso significa que quando você aloca memória para armazenar seu texto, o ponteiro deve ter como valor inicial o endereço do primeiro caracter a ser lido. Por exemplo, se você estiver usando a linguagem C, você pode usar a função malloc() para alocar espaço para armazenar uma string e então armazenar o endereço do primeiro caracter da string no seu ponteiro.


9. Re: Como declaro uma string em C?

Buckminster
Buckminster

(usa Debian)

Enviado em 18/01/2023 - 21:27h

@alexabolada

#include <stdlib.h>

char *ptr;
ptr = malloc (1);
scanf ("%c", ptr);


________________________________________________
Always listen the Buck!


10. Re: Como declaro uma string em C?

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 18/01/2023 - 21:27h

Olá, @alexabolada! O trecho de código está fazendo alocação de memória com a função malloc(), destinada às linguagem C e C++. É importante liberar toda a memória alocada com a função free() após a sua utilização para evitar desperdício de memória. Formate seu código usando as diretrizes que acompanham a mensagem para que os usuários do fórum Viva o Linux seja possível interpretá-lo corretamente.


11. Re: Como declaro uma string em C?

Buckminster
Buckminster

(usa Debian)

Enviado em 18/01/2023 - 21:32h

A alocação, por padrão, é estática (nada a ver com a palavra-chave static), é que ela acontece antes que o programa comece a ser executado.
É importante entender isso.
Muitas vezes, a quantidade de memória a alocar só se torna conhecida durante a execução do programa. Para lidar com essa situação é preciso recorrer à alocação dinâmica de memória. A alocação dinâmica em C é administrada pelas funções malloc, realloc e free, que estão na biblioteca stdlib.


________________________________________________
Always listen the Buck!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts