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.