c语言里关于本地变量的一些规则

  关于块的定义(自己的理解):就是☞{  }这个区域里面的东西以及“  {}  ”这个符号的本身

  ·本地的变量是定义在块内的  -->>1.它可以定义在函数的块内 

void swap(int c,int d)
{
c=4;
d=5;
}

 2.它可以定义在语句的块内

int a=0,b=0;

  3.它甚至随意一个大括号即可

{

  int a=0;

}

  ·程序在进入这个块之前,若其中的变量不存在的话,那么若过离开这个块,变量也会不存在

{

  int i;
}

printf("%d",i);//i会在devc++里面显示[Error] 'i' was not declared in this scope或者是Not found in current context

  ·块在外面的变量,变量在块内部也有效

int a;

{

  a=5;

}

  ·块若在内部定义了一个和外部相同的变量,则块内部的变量会覆盖掉块外部的变量

int b=6;//one

{

  int b=1;//two

  printf("%d",b);//显示two的数值
}
printf("%d",b);//显示one的数值

  ·不能再相同的一个块内定义相同的变量

{
  int a=6;

  int a=7;//会出现 [Error] redeclaration of 'int i'和 [Note] 'int i' previously declared here的错误
}

  ·本地变量不会被初始化-->>如果是已经赋值了的话

 

  

posted @ 2022-04-13 17:40  我是一个小笨蛋  阅读(316)  评论(1编辑  收藏  举报