c语言函数形参的存储类别
在C语言中,函数形参指的是在函数定义中接收传递进来的参数。函数参数可以简化函数的参数传递,提高代码的可读性和可维护性。C语言中的函数参数有四种存储类别:auto、register、static和extern。
1. auto
auto是默认的存储类别,在函数定义中声明的变量默认存储在栈中,它们的值在函数调用时得到初始化,在函数调用完成后被销毁。如果没有显式地指定变量的存储类别,则编译器会默认将变量存储为auto类型。以下是一个例子:
```
int sum(int a, int b) {
auto int c = 0; // auto 可以省略
c语言库函数 c = a + b;
return c;
}
```
2. register
register关键字用于向编译器提示将变量存储在寄存器中,以便提高访问速度。它实际上是建议性的,不能保证变量一定会存储在寄存器中。以下是一个例子:
3. static
static关键字用于指定变量在函数被执行时在全局变量区分配内存,函数执行完毕后,内存不会被回收,下次执行这个函数时,变量的值会继续保持。static变量可以被用于实现全局变量的效果,同时又不会对程序的其他部分产生影响。以下是一个例子:
运行结果为:1 2 3 4 5 6 7 8 9 10。
4. extern
extern关键字用于在函数定义中声明全局变量。如果一个函数需要使用全局变量,但是全局变量不是在函数内部定义的,则需要使用extern来引用全局变量。以下是一个例子:
```
#include <stdio.h>
int g = 20;
void print() {
extern int g;
printf("g = %d", g);
}
运行结果为:g = 20。
综上,C语言函数形参的存储类别有四种:auto、register、static和extern。程序员应根据
具体情况选用适当的存储类别。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论