static这个函数这个函数在C语言中是什么意思,有哪些运用?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 00:53:20
static这个函数这个函数在C语言中是什么意思,有哪些运用?

static这个函数这个函数在C语言中是什么意思,有哪些运用?
static这个函数
这个函数在C语言中是什么意思,有哪些运用?

static这个函数这个函数在C语言中是什么意思,有哪些运用?
static 是C中很常用的修饰符,它被用来控制变量的存储方式和可见性
static 声明的变量在C语言中有两方面的特征:
1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值.这一点是它与堆栈变量和堆变量的区别.
2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见.这一点是它与全局变量的区别.
2、问题:Static的理解
关于static变量,请选择下面所有说法正确的内容:
A、若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;
B、若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度;
C、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;
D、静态全局变量过大,可那会导致堆栈溢出.
答案与分析:
对于A,B:根据本篇概述部分的说明b),我们知道,A,B都是正确的.
对于C:根据本篇概述部分的说明a),我们知道,C是正确的(所谓的函数重入问题,下面会详细阐述).
对于D:静态变量放在程序的全局数据区,而不是在堆栈中分配,所以不可能导致堆栈溢出,D是错误的.
因此,答案是A、B、C.
3、问题:不可重入函数
曾经设计过如下一个函数,在代码检视的时候被提醒有bug,因为这个函数是不可重入的,为什么?
unsigned int sum_int( unsigned int base )
{
unsigned int index;
static unsigned int sum = 0; // 注意,是static类型的.
for (index = 1; index

static这个函数这个函数在C语言中是什么意思,有哪些运用? C语言中 在一个函数中用 static修饰的变量,还能给它赋上新值吗? 在C语言中,在一个子函数中定义的static型变量可以应用在其他函数中么? C++、java中,static都可修饰一个函数,它们的作用相同吗?在C++、java中,是不是某个类中的某个方法,如果用static修饰了,那么直接可以用类名来调用该方法,而不用实例化?这两种语言的static作用是不 C语言函数内部定义函数这个貌似不行吧? 在C语言中static有什么含义 C语言延时函数延时函数是怎么写的,比如sleep这个函数的源代码程序, 我想问一下图中这个C语言函数调用划线部分是什么意思? 我定义了一个函数max(),我在这个函数里面在定义一个max变量,C语言 C语言函数前面加个指针是什么意思?void *GetNumber(int num) //这个是函数请问在main中应该怎么用这个函数啊?//是这样吗?int words = 2;char *words[20] = *GetNumber(words );//是这样用吗? C语言中能不能通过键盘输入一个公式,例如:f(x)这样的函数,并在程序中使用这个公式进行计算呀? 急!高分!请帮我用C语言STATIC函数编一个简单程序要求:使用STATIC函数.形成A line,B line两个函数.在两个函数上用RAND函数形成1~10RAND值10次.两个函数形成的RAND值积累起来.A line有积累效果B line没 在函数中加了&,这个符号是表示什么? 1.数学表达式为-3,C语言的表达式为?2.声明一个具有全局作用域的外部函数,需要使用的关键字是static还是extern 在C语言中,如果一个函数返回两个数,return 语句中要怎么表示?是用数组吗我如果把下面这个程序定义成一个函数,他有两个返回值,而卧的return 中只有一个返回值m,在函数调用时应该怎么定义?#i 在C语言中,数组作为参数,是怎样在函数之间传递的啊?额,这个我们还没学到指针的,能讲得通俗易懂点吗? c语言中关于函数后面的小括号是用来干什么的啊 小括号里面应该写什么 这个小括号的作用是什么 这个运算符在函数中是什么意思