Latest web development tutorials

regole ambito C

Qualsiasi tipo di programmazione, l'ambito è definito nella regione variabile programma che esiste oltre la regione variabile non è possibile accedere. linguaggio C, ci sono tre posti si può dichiarare le variabili:

  1. Nelle variabililocali all'interno di un blocco o
  2. Tutte le variabiliglobali al di fuori della funzione
  3. Parametri di funzione definiscono laforma parametro

Vediamo quali sonole variabili locali,variabiliglobalie parametriformali.

Le variabili locali

Variabile dichiarata all'interno di una funzione o di un blocco chiamato variabili locali. Possono essere utilizzati solo dalla funzione o blocco di codice all'interno dell'istruzione. Le variabili locali al di fuori della funzione è sconosciuta. I seguenti sono esempi di uso di variabili locali. Qui, tutte le variabili a, B e C sono variabili locali funzione main ().

#include <stdio.h>
 
int main ()
{
  /* 局部变量声明 */
  int a, b;
  int c;
 
  /* 实际初始化 */
  a = 10;
  b = 20;
  c = a + b;
 
  printf ("value of a = %d, b = %d and c = %d\n", a, b, c);
 
  return 0;
}

Variabili globali

Le variabili globali sono definite nella funzione esterna, di solito nella parte superiore del programma. Le variabili globali in tutto il ciclo di vita delle applicazioni sono validi in tutte le funzioni interne possono accedere alle variabili globali.

Le variabili globali sono accessibili da qualsiasi funzione. In altre parole, dopo la dichiarazione della variabile globale è disponibile in tutto il programma. Quanto segue è l'uso di locali e globali esempi variabili:

#include <stdio.h>
 
/* 全局变量声明 */
int g;
 
int main ()
{
  /* 局部变量声明 */
  int a, b;
 
  /* 实际初始化 */
  a = 10;
  b = 20;
  g = a + b;
 
  printf ("value of a = %d, b = %d and g = %d\n", a, b, g);
 
  return 0;
}

Nel programma, variabili locali e le variabili globali possono essere uguali, ma all'interno di una funzione, variabili locali sostituiranno il valore di una variabile globale. Ecco un esempio:

#include <stdio.h>
 
/* 全局变量声明 */
int g = 20;
 
int main ()
{
  /* 局部变量声明 */
  int g = 10;
 
  printf ("value of g = %d\n",  g);
 
  return 0;
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

value of g = 10

parametri formali

parametri di funzione, i parametri formali vengono trattate come variabili locali all'interno della funzione, che vi darà la priorità per ignorare la variabile globale. Ecco un esempio:

#include <stdio.h>
 
/* 全局变量声明 */
int a = 20;
 
int main ()
{
  /* 在主函数中的局部变量声明 */
  int a = 10;
  int b = 20;
  int c = 0;
  int sum(int, int);

  printf ("value of a in main() = %d\n",  a);
  c = sum( a, b);
  printf ("value of c in main() = %d\n",  c);

  return 0;
}

/* 添加两个整数的函数 */
int sum(int a, int b)
{
    printf ("value of a in sum() = %d\n",  a);
    printf ("value of b in sum() = %d\n",  b);

    return a + b;
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

value of a in main() = 10
value of a in sum() = 10
value of b in sum() = 20
value of c in main() = 30

Inizializzare le variabili locali e globali

Quando si definisce una variabile locale, il sistema non inizializza, è necessario inizializzare da soli. Quando si definiscono le variabili globali, il sistema inizializza automaticamente come segue:

数据类型初始化默认值
int 0
char '\0'
float 0
double 0
pointer NULL

variabile inizializzato correttamente è una buona pratica di programmazione, altrimenti il ​​programma può a volte produrre risultati inattesi, perché una variabile non inizializzata provoca un certo valore della spazzatura è già disponibile nella posizione di memoria.