Variáveis locais e variáveis globais, espaço de distribuição de memória

 Pergunta da primeira parte

Variável local : uma variável definida dentro do corpo da função, com escopo limitado ao corpo da função. Será inválido fora do corpo da função. Chamar novamente é um erro.

Variável Global: Definição: Todas as variáveis ​​definidas fora de uma função, seu escopo é todo o programa, ou seja, todos os arquivos fonte, incluindo arquivos .c e .h.

#include<stdio.h>
int main()
{
 int i=520;
 printf("before: i=%d\n",i);
 for(int i=0;i<10;i++){      //for语句中可以定义变量与外部 i作用域不同不发生冲突
  printf("%d\n",i);
 }
 printf("after:i=%d\n",i);

return 0 ;
}
                 

Segunda parte da pergunta: 

As instruções de atribuição precisam ser executadas por funções. O corpo de execução mais básico da linguagem C é uma função. Você pode inicializá-la, mas não pode atribuir valores fora da função.

Padrão da linguagem C: As expressões de inicialização de variáveis ​​globais (variáveis ​​externas) e variáveis ​​estáticas (variáveis ​​estáticas) devem ser expressões constantes[1]

#include<stdio.h>
int a;
a=10;
int b;
b=a+a;
int main()
{
printf("%d\n",b);

}

Perguntas da parte 3

 Os valores definidos nas variáveis ​​globais podem ser modificados por cada função

Se a variável global não for inicializada, ela será automaticamente inicializada com 0 ;

Se houver uma variável local com o mesmo nome de uma variável global dentro de uma função, o compilador não reportará um erro, mas protegerá a variável global na função (ou seja, a variável global não funcionará nesta função);

Não use um grande número de variáveis ​​globais: o uso de variáveis ​​globais ocupa mais memória e não é liberado até que o programa saia do momento da definição.

Armazenamento de memória em linguagem C

Acho que você gosta

Origin blog.csdn.net/m0_52467164/article/details/120227623
Recomendado
Clasificación