函数
函数是一块代码,接受零个或多个参数,做一件事情,并返回零个或一个值。
函数定义
void sum(int begin,int end)
{
int i;
int sum=0;
for(i=begin;i<=end;i++){
sum+=i;
}
printf("%d到%d的和是%d\n",begin,end,sum);
}
调用函数
·函数名(参数值); ··()起到了表示函数调用的重要作用 ·即使没有参数也需要 ·如果有参数,则需要给出正确的数量和顺序 ·这些值会被按照顺序依次用来初始化函数中的参数
函数返回
函数知道每一次是哪里调用它,会返回到正确的位置。
从函数中返回
return停止函数的执行,并送回一个值 形式:1)return; 2)return 表达式;
没有返回值的函数
void函数名(参数表) 不能没有带值的return 可以没有return 调用的时候不能做返回值的赋值。 如果函数是有返回值的,则必须使用带值的return
函数原型:用来告诉编译器这个函数长什么样
#函数先后关系 像这样把sum()写在上面是因为:c的编译器自上而下顺序分析你的代码。 函数原型: ·函数头,以分号结尾,就构成了函数的原型。
参数调用:调用函数的时候,是用表达式的值来初始化函数的参数
可以传递给函数的值是表达式的结果,这包括: 字面量,变量,函数的返回值,计算的结果。
本地变量:定义在函数内部的变量是本地变量,参数也是本地变量
1)本地变量:函数的每次运行,,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行独有的,称作本地变量。 ·定义在函数内部的变量就是本地变量 ·参数也是本地变量。 2)变量的生存期和作用域 生存期:什么时候这个变量开始出现了,到什么时候它消亡了。 作用域:在代码的什么范围内可以访问这个变量。 ·对于本地变量,这两个问题的答案是统一的:大括号内——块 本地变量的规则: ·本地变量是定义在块内的 ·它可以是定义在函数的块内; 也可以定义在语句的块内; 甚至可以随便拉一对大括号来定义变量; 程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了。 块外面定义的变量在里面仍然有效 块里面定义了和外面同名的变量则掩盖了外面的。
细节
1)没有参数时 void f(void);表示不接受任何参数 还是 void f(); 在传统c中,它表示f函数的参数表未知,并不表示没有参数 2)逗号运算符 调用函数时的逗号和逗号运算符怎么区分? 调用函数时的圆括号里的括号是标点符号,不是运算符 f(a,b) f((a,b)) 3)c语言不允许函数嵌套定义 4)关于main int main()也是一个函数
|