局部变量与全局变量

#define CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

 

//局部变量

//形参也是局部变量

void fun01(int a)

{

  int b=20;

}

int main0101()

{

//局部变量:在函数内部定义的变量,使用auto修饰,可省略;

//作用域:所在函数内部

//生命周期:从创建到函数结束

  auto int a=10;

  printf("%d ",a);//10

  for(int i=0;i<10;i++);//这里的i是局部变量

  {

    

  }

  //printf("%d ",i);//但作用域只限于for循环内

//作用域于主函数内

  int i;

  for(int i=0;i<10;i++)

  {

   

  }

  printf("%d ",i);//10

  return EXIT_SUCCESS;

}

 

//全局变量

//全局变量可以和局部变量重名;项目中不能同时存在重名的全局变量;

//全局变量:在函数外部定义的变量;

//作用域:项目中的所有文件,如果在其它文件中作用需要声明;

//生命周期:从程序创建到程序销毁

int a=10;

int main(void)

{

//数据在操作时会采用就进原则
  printf("%d ",a);//10

  int a=123;

//匿名内部函数

  {

    //int a=456;//这里a的作用域是当前{}里;并且不会影响下面的程序;这里int a=456的地址与上面int a=123的地址不同

    a=456;//这里a的作用域是外层{};并且会影响下面的程序;这里a=456的地址与上面int a=123的地址相同

    printf("%d ", a);

  }

  printf("%d ", a);

  return 0;

}

原文地址:https://www.cnblogs.com/wanghong19991213/p/13627835.html