Noções básicas de variáveis ​​globais em programação C

Às vezes, em programação C, uma variável deve ser como serviço de telefone celular: disponível em todos os lugares. A variável também pode ser usado por qualquer função a qualquer momento. Este tipo de variável poderia ser chamado de universal

variável. Poderia ser chamado um no mundo todo variável. Mas em C, que é referido como um global variável.

Como usar variáveis ​​globais

As variáveis ​​globais resolver problemas específicos, fazendo a declaração de variável universal. Dessa forma, qualquer função em qualquer parte do programa pode acessar a variável. Ele não tem que ser passado ou retornado de uma função.

Jogando sua idade em torno mostra como uma variável global é declarado e utilizado. As variáveis ​​globais idade e flutuador são afectados por ambas as funções. Eles podem ser passados ​​para essas funções, mas os dois valores não podem ser devolvidos. (C funções retornar apenas um valor.) Portanto, a variável global é usado como uma solução.

LANÇ SUA IDADE EM TORNO

metade vazio #include (void) -void duas vezes (nulos) -INT idade flutuador pés-int main () {printf ( "Quantos anos você tem:") -scanf -printf ( "% d", da idade) ( "Como é a sua altura (em centímetros): ") -scanf ("% f ", pés) -printf (" está% pés .1f d anos de idade e% de altura n ", idade, pés) -metade () -. duas vezes () - printf ( ". Mas você não está realmente% pés .1f d anos ou% de altura n", idade, pés) -Retornar (0) -} metade (void) {flutuar um, ha = (float) idade / 2.0-printf -h = pés / 2.0-printf ( "Half a sua altura é% .1f. n", h) (, a "metade da sua idade é% .1f n".) -} anular duas vezes (void) {idade * = 2-printf ( "duas vezes a sua idade é% d n"., idade) -feet * = 2-printf ( "duas vezes a sua altura é% .1f n", em pés) - }

Line 6 declara a variável int mundial idade ea variável flutuador pés. Estas são variáveis ​​globais porque eles estão declarada fora de qualquer função, lá em cima no #include, #define e terra prototipagem. As variáveis ​​são então utilizados em cada função. Os valores podem ser acedido por todo o código. Mesmo quando esses valores são alterados na função duas vezes (), a função main () usa os novos valores.

Esteja ciente de que dois printf () declarações na função main () embrulhar o seu texto em Lançando sua idade Around. Você não precisa quebrar essas declarações em um editor- texto simplesmente digite-los todos em uma única linha.

Exercício 1: Digite o código-fonte para Jogando sua idade em torno em seu editor, a criação de um novo programa. Construir e executar.

Não seja preguiçoso sobre o uso de variáveis ​​globais! Se você pode passar um valor para uma função, fazê-lo! É adequada. Too muitos programadores indolentes declarar todas as suas variáveis ​​globais para # 147 resolver o problema. # 148- Isso é superficial e inadequada.

Bons exemplos de variáveis ​​globais incluem informações de que todas as funções no programa deve saber, como as informações do usuário, ou se você está online ou se o texto é exibido ou oculto. Nesse caso, considere fazer essas variáveis ​​global em vez.

Como criar uma variável de estrutura mundial

A melhor exemplo do uso de uma variável global, e uma situação em que as variáveis ​​globais são completamente necessário, é quando se passa uma estrutura para uma função. Nesse caso, você deve declarar a estrutura como global para que todas as funções podem acessar variáveis ​​desse tipo de estrutura.

Não deixe que o comprimento enorme de Passando uma estrutura para uma função intimidá-lo! A maioria dos # 147 reais # 148- programas que você, eventualmente, escrever será muito mais tempo!

PASSANDO UMA ESTRUTURA PARA A FUNÇÃO

#include #include #include #define SIZE 5struct bot {int ypos posx-INT -} - struct bot initialize (struct bot b) main () {robôs -INT struct bot [TAMANHO] -int x-srandom ((tempo sem sinal) (NULL)) - para (X = 0-X

Para passar uma estrutura para uma função, a estrutura deve ser declarado globalmente, o que acontece entre as linhas 7 e 10. Isso tem que acontecer antes mesmo que a função é um protótipo, que ocorre na Linha 12.

A função initialize () é executado a partir Linhas 30 a 41. A estrutura é passada para a função e voltou. Note que a variável estrutura deve ser totalmente definido como o argumento. Na Linha 30, a função é dado o nome da variável b dentro da função.

A instrução de retorno na Linha 40 passa a estrutura de volta para a função de chamada. Na verdade, a função de inicialização () é definido como um tipo de estrutura bot de função. Esse é o tipo de valor que ele retorna.

exercício 2: Parafuso sua coragem ao lugar degola, e digite todas as linhas de código-fonte de passar uma estrutura para uma função em seu editor. Construir e executar.

A saída demonstra como a matriz estrutura foi passada (um elemento de cada vez) para uma função, modificados na função, e, em seguida, devolvido.

menu