小编所收集到的相关计算机二级C语言入门教程:变量的作用域和存储类型的资料 大家要认真阅读哦!
二、变量存储类型
前面我们说了,声明变量时用如下类似的形式:
int num;
float total;
它们都没有存储类型修饰符,我们在声明时也可以通过存储类型修饰符来告诉编译器将要处理什么类型的变量。存储类型有以下四种:自动(auto)、静态(static)、外部(extern)、寄存器(regiser)。
1.自动存储类型
自动存储类型修饰符指定了一个局部变量为自动的,这意味着,每次执行到定义该变量的语句块时,都将会为该变量在内存中产生一个新的拷贝,并对其进行初始化。实际上,如果不特别指明,局部变量的存储类型就默认为自动的,因此,加不加auto都可以。
main()
{
auto int num=5;
printf(%d\n,num);
}
在这个例子中,不论变量num的声明是否包含关键字auto,代码的执行效果都是一样的。函数的形式参数存储类型默认也是自动的。
2.静态存储变量
前面已经使用了static关键字,但是对于局部变量,静态存储类型的意义是不一样的,这时,它是和自动存储类型相对而言的。静态局部变量的作用域仍然近局限于声明它的语句块中,但是在语句块执行期间,变量将始终保持它的值。而且,初始化值只在语句块第一次执行是起作用。在随后的运行过程中,变量将保持语句块上一次执行时的值。看下面两个对应的程序:
/*1.C*/ /*2.C*/
int add(); int add();
main() main()
{ {
int result; int result;
result=add() result=add();
printf(%d ,result); printf(%d ,result);
result=add(); result=add();
printf(%d ,result); printf(%d ,result);
result=add(); result=add();
printf(%d,result); printf(%d,result);
} }
int add() int add()
{ {
int num=50; static int num=50;
num++; num++;
return num; return num;
} }
上面两个源文件,只有函数add()里的变量声明有所不同,一个是自动存储类型,一个是静态存储类型。
文字很枯燥,但内容却很丰富,小编在此祝大家都能考出让自己满意的成绩哦!
继续了解计算机二级C语言?点击下方链接,进入考无忧官方网站,更多精彩等你来!
小编特别推荐二级ms office可以了解一下噢! 毕竟这项科目着实相比其他科目比较容易啦!
文章推荐:
温馨提示:
想要了解更多试题请点击查看>>>计算机二级考试题库
考试想拿高分吗?更多二级ms office试题请点击查看>>>二级ms office
想知道更多关于计算机等级考试的最新资讯吗?点击进入>>>计算机等级考试