Ir ao conteúdo
  • Cadastre-se

Para quem está começando a programar


Edy Junior

Posts recomendados

Este tópico não foi posto querendo dizer que é explicitamente a verdade. Está aberto a opiniões.

Quando você começa a trabalhar com variáveis por exemplo, você já reparou que em algumas linguagens você pode trabalhar tanto com varáveis globais como com as locais.

Mas qual a relação entre elas? A vantagem / desvantagem?

Bom.

Falando a nível de bom entendedor, as variaveis globais são as mais fáceis de se trabalhar, declarada uma vez apenas, elas ficam no programa sempre que você quiser chama-las, ao contrário das locais , mais difíceis de se trabalhar, tendo que declara-la sempre que necessarios (no inicio de procedimentos, funções).

Mas então as globais são melhores?

Pense assim. Se você declarar um variável global ela vai tá sempre lá, ocupando espaço importante na memória. Uma local, só ocupa quando é declarada e é apagado quando sai do procedimento/função, dando espaço na memória pra outra variável. Imagine isso com um programa que necessita-se de um monte de variável?

Seria necessário muita memória RAM para quem usa as globais (do inicio ao fim do programa elas estão acionadas) e se usa-se locais, ela poderia reaproveitar o mesmo espaço ocupado por uma antes.

De uma pensada nisso e comentem se for o caso!

Link para o comentário
Compartilhar em outros sites

Karos Amigos,

Senti-me na necessidade de comentar sobre este assunto...

Variaveis Locais e Globais são sempre um saco para qualquer programador, e principalmente motivo de dores de cabeça para os desenvolvedores. Sem mais rodeios.

Variáveis Globais são úteis geralmente para procedimentos que é necessário armazanar valores que o programador vai trabalhar de início a fim do programa, como senha de usuarios, nome de usuários, horário de conexao, etc.

Variáveis Locais é recomendado para fazer todos os procedimentos que a rotina vá trabalhar no momento.por exemplo o calculo de produtos de uma lista  a soma de determinados itens, etc.

Recomendo e sempre prefiro, locais, até por uma questão se segurança uma vez k estás variáveis podem estar ainda com valores de outros procedimentos, e estarem alocando memória desnecessária e tornando a aplicação mais lenta(claro não muito mais pois estamos falando de bytes), entretanto mais lenta do que se estivessemos trabalhando com variáveis locais.

No Suffer - [email protected]

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Olá ...

Bem, você tem que saber também como o SISTEMA OPERACIONAL manipula a memória do sistema. Por quê ?

Você pode achar que pode deixar muitas variáveis como globais. Veja o quanto ocupam : 1, 2, 4, 8 bytes. Realmente é muito pouco.

Se você está rodando o Windows (carinhosamente apelidado de windows) deve ter uma noção disso :

Todo App executado no Windows tem UMA PORÇÃO da memória reservada para conter seu código, uma outra para conter variáveis ou dados globais (Segmento de Dados) e uma outra chamada pilha (segmento Stack). Talvez não saiba, mas esses recursos do sistema são escassos, e sabemos como o Windows manipula "muito bem" a RAM do sistema ... por isso concordo com o No Suffer em relação ao uso da memória, e sempre tentar usar os menores tipos de dados possível, porque além de preservar a memória do sistema, seu App fica mais rápido. Talvez na suia máquina com 1Ghz de RAM você não note a diferença, mas seu cliente vai notar. Mas cuidado : só use variáveis menores se TIVER CERTEZA que tal variável nunca vai ultrapassar seu valor. Você pode definir um campo "IDADE" como do tipo byte (ocupa 1 byte e pode valer entre 0 - 256), mas se usar essa mesma variável para um campo "SALARIO", de o usuário colocar que ganha 1125 reais a variável estoura. E seu App pode ter um triste fim, porque a variável causou uma Violação de Acesso, e isso pode ser um choque para o usuário ! ! !

Até mais ...

Link para o comentário
Compartilhar em outros sites

Caros Krad Nale e No Suffer. Peço desculpa se me interpretaram mal sobre a mensagem postada por este indivíduo, mas o objetivo era esse mesmo. deixar espaço aberto a pessos que tem mais conhecimento postarem suas opiniões, pois assim muitos como eu, acabam aprendendo mais.

Só me senti na vontade e dever de tentar insentir algumas mensagens com mais informações do que as normais. Assim muitos, repito, aprendem junto.

Obrigado pelas informações.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...