三九宝宝网宝宝教育教学论文

static这个函数

12月30日 编辑 39baobao.com

[c语言函数的返回值是什么意思]所谓函数返回值是一个函数在运算结束以后向调用它的母函数或者系统反馈一个值,这个值可以是各种变量类型. 举个简单的例子: int add(int a,int b) { return (a+b); } int main...+阅读

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

以下为关联文档:

c语言中什么是函数的递归能举个例子么所谓递归,说的简单点,就是函数自己调用自己,然后在某个特定条件下。结束这种自我调用。 如果不给予这个结束条件,就成了无限死循环了。这样这个递归也就毫无意义了。 如下面问题...

c程序设计递归函数举例递归调用即自己调用自己,与其他嵌套调用无本质区别,即在自身函数中再嵌套一个自身函数;例如计算6+7+6+7+8,可编程如下: #include <iostream.h> int fib(int a,int b); void main(...

c语言递归函数递归求阶乘的吧,不过你写的有问题,函数既然接受形参n,在函数里就不用再读取了;而且函数返回的是long类型,应该强制转换返回值。 #include <stdio.h> long rfact (int n) { float...

C语言用递归函数实现求1 2 31 2 3 4 5 6 7 8 9 10 11 #include <stdio.h> intsum(intn) { if(n == 1)return1; returnn+sum(n-1); } intmain() { printf("%d\n", sum(10)); return0; }...

c语言求分段函数Y FX的值你只给出了X的取值范围,函数表达式呢,怎么没有给出? 我假设这样: Y=X (X〈-1) Y=1(-1〈=X〈=1) Y=X*X(X〉1) 用C语言实现,输入X的值,求Y的值,那么可以表示为: int function(int x) {...

c语言中的strcmp函数函数原型:extern int strcmp(const char *s1,const char *s2); 函数功能:以ascii码值比较两个字符串的大小,当s1<s2时,返回为负数,当s1=s2时,返回值= 0,当s1>s2时,返回正数。 头文件...

在C语言中 strcmp是什么函数描述:比较串 #include <sting.h> int strcmp(const char *s1,const char* s2); int __far _fstrcmp(const char __far* s1,const char __far* s2); s1,s2为要比较的串 strcmp...

C语言的strcmp用函数表示1. 首先记住一件事,C语言中,数值0表示假,非0表示真(即!0=true) 2. *(unsigned char *)src,表示取src字符串中第1个字符 3. *(unsigned char *)dst,表示取dst字符串中第1个字符 4. re...

c语言的static与函数变量你在函数中定义static变量,在定义的时候须得给他赋值,而且在程序运行中,只有第一次调这个函数时你所赋的值才有效果,之后每次调此函数,都不会重新给他赋值了(例如staitc a = 10,下...

推荐阅读
图文推荐