Olá, seja bem-vindo de volta. Nesta palestra, quero falar sobre cordas constantes.
Sabemos que os literais de string ou uma constante de string estão entre aspas duplas.
Mas e quanto à própria variável. Como você pode ter certeza de que
a variável nunca poderá alterar esse valor?
Isso é conhecido como uma constante. Portanto, string constante às
vezes é necessária em seu programa, onde
você não deseja que os valores de suas variáveis nunca mudem.
Então, por exemplo, se estamos criando uma circunferência de algum
cálculo, faríamos 3. 14159 vezes o diâmetro.
3 14159 é uma constante. Isso nunca muda.
Ele representa o pi.
Portanto, seria muito bom se, em vez de usar esse número mágico,
pudéssemos usar uma variável e garantir que essa variável nunca mude.
Portanto, há boas razões para
usar uma constante simbólica em vez de apenas digitar o número todas as vezes.
Em primeiro lugar, um nome diz muito mais do que um número.
Devida é igual a 0. 015 vezes o valor
da casa é muito menos significativo do que a taxa devida vezes o valor.
Portanto, queremos ter nomes de variáveis que representem
números que nunca mudam.
Se você ler um programa longo,
o significado da versão da segunda visão é muito mais claro.
É muito mais fácil olhar para esse código e entender que 0. 015 representa a taxa de imposto.
Suponha que você tenha usado uma constante em vários
lugares e seja necessário alterar seu valor,
você teria que ir e alterar esse valor em todos os lugares do
programa, ao invés de apenas mudar em um ponto onde você define essa constante.
Falei sobre isso antes, quando uso o termo números mágicos.
É a isso que se refere.
Sempre que você vir um número usado em um programa que não está
armazenado em uma variável, geralmente é melhor criar esse número e colocá-lo em uma constante.
Porque então, se você usar várias vezes e essa variável
mudar, tudo o que você precisa fazer é
alterá-la uma vez. Você não precisa alterá-lo em todos os lugares em que o usar.
Portanto, evite números mágicos, use constantes.
Uma maneira de definir uma constante em c é usar para
definir a diretiva do pré-processador.
Portanto, esta diretiva de pré-processador permite definir constantes e,
na verdade, usei-a em alguns programas. Agora estou tentando ajudar a explicar isso.
Portanto, se você quiser fazer uma taxa de imposto e
for uma constante, pode definir com o sinal de libra antes dela.
Sabemos que é uma diretiva de pré-processador por causa do sinal de
libra e, em seguida, diríamos o nome e o valor.
Quando seu programa é compilado, o valor 0. 015 será substituído em todos
os lugares em que você usou a taxa de imposto, como
uma variável, mas na verdade não é uma variável.
Você não pode atribuir quaisquer outros valores a isso.
Se fosse uma variável, você poderia atribuir
dados a ela, mas não neste caso porque é um pré-processador.
Portanto, a diretiva do pré-processador diz que você não pode atribuir dados
e você especifica isso com o define.
Portanto, observe a sintaxe para isso. Você tem o símbolo da libra seguido por uma palavra-chave definida.
E depois disso, você tem o seu nome.
Não estamos usando nenhum operador de atribuição.
Temos apenas nosso nome, o espaço e o valor.
Portanto, para atribuir um valor a essa definição, tudo o que você precisa é de um espaço.
Não há ponto-e-vírgula no final. Não é uma declaração. É muito específico.
Então o que está acontecendo aqui é que há substituição de tempo de
compilação acontecendo para esses pré-processadores. O pré-processador é executado antes que o compilador se lembre.
O pré-processador será executado e verá essas raízes carregadas definidas. E então, em todos os lugares que ele vê uma taxa
de imposto, ele vai colocar 0 015 para o compilador.
As instruções definidas podem aparecer em qualquer lugar do programa.
Não existe uma definição local. Depois de definir uma definição, qualquer
pessoa pode usá-la.
Agora, a melhor prática ou convenção geralmente é colocar as instruções
definidas no início do programa ou dentro
de um arquivo de inclusão se você quiser compartilhar
em mais de um arquivo de origem, mas não precisa fazer isso.
Por estar rodando no pré-processador, não
tem escopo nenhum, não tem nenhum local ou global.
Você pode simplesmente colocá-lo em qualquer lugar. E você pode vê-lo em qualquer lugar do
programa, mesmo que esteja sendo usado antes de ser definido.
As instruções definidas também são muito boas porque ajudam a tornar seus programas mais portáteis.
Às vezes, você pode usar uma instrução definida e relacioná-la a um computador específico em que está executando
quando o programa está em execução, e ele obterá exatamente esse valor.
A instrução definida também pode ser usada para caracteres e constantes de string,
não apenas para números. Se quiséssemos fazer algo assim, perfeitamente válido.
Você apenas coloca os caracteres simples entre aspas simples.
E se você quiser realmente colocar uma string literal inteira,
basta colocá-la entre aspas duplas. E é isso que isso oops está fazendo.
Outra maneira de criar constantes e ver é um
mecanismo mais recente. C90 adicionou basicamente outra maneira que
é fornecer o modificador constante.
Você pode usar a palavra-chave constant para converter uma declaração de uma variável em uma declaração de uma constante.
E isso permitirá que você nunca seja capaz de alterar essa variável. Portanto, tudo o que você faz é dizer const e,
em seguida, o nome do tipo de dados e, em seguida, o nome da variável.
E o que isso faz neste exemplo agora tornará meses uma constante simbólica para 12.
Não a estamos chamando de variável porque uma variável pode mudar,
por isso é chamada de variável.
Você tem constantes ou variáveis
e constante em meses não é uma variável, não muda.
Constante transforma meses em um valor somente leitura.
Você pode exibir meses e usá-lo em cálculos. Você não pode alterar o valor dos meses.
Portanto, as constantes são importantes se você não deseja que os dados
mudem, e também podem substituir os números mágicos.
Const é uma abordagem mais recente e mais flexível do que definir.
Ele permite que você declare um tipo.
Ele também tem melhor controle sobre quais partes
de um programa podem usar a constante.
Portanto, você deve usar constante sempre que puder, mas verá muitos
programas usando definida porque foi o primeiro mecanismo.
Além disso, há uma terceira maneira de criar uma constante,
que é usando o enum. Lembre-se, falamos sobre enums.
Enums são uma forma de criar seu próprio
tipo de variável e ter apenas alguns dados associados a ela. Você não pode alterar o valor de enums.
Depois de definir um enum, ele precisa ter esses valores.
Pode ter valores diferentes, mas ainda é
uma espécie de forma de criar uma constante simbólica, não uma forma completa, mas uma espécie de forma.
Além disso, com const, você pode inicializar um array de caracteres e declará-lo como uma constante, essa
é uma boa maneira de lidar com mensagens padrão.
Portanto, se você disser que const char mensagem é igual ao fim do mundo
está próximo, isso irá declarar a mensagem como uma constante e está protegida
de qualquer modificação explícita em seu programa. Qualquer tentativa de tentar modificar a mensagem fazendo uma
cópia str resultará em uma mensagem de erro do compilador.
E agora você pode usar isso para uma mensagem padrão que pode
ser exibida como saída em várias partes do programa.
A técnica para definir mensagens padrão é particularmente útil se elas forem
usadas em muitos lugares, como mencionei.
Previne a modificação acidental de tais constantes em outras partes do programa, assim
como os números mágicos.
Portanto, você deseja utilizá-las em
constantes em seu programa, duas maneiras de empregá-las essencialmente,
usando define e usando a palavra-chave constant.
Por favor, preste atenção a isso.
Você pode ver isso em alguns exemplos a seguir.
Obrigada.