C语言学习分享
1、函数
1.1、函数的定义
1.2、函数的参数
1.3、形参和实参的示例
#include<stdio.h>
int squarer(int x);
void main(){
int i;
for(i =1; i <=5; i++)
printf(" %d * %d = %d\n ", i,squarer (i));//实际参数
}
int squarer(int x)//形式参数
{
int iResult = 0;
iResult = x * x;
return iResult;
}
1.4、函数的返回值
1.5、函数的数据类型
1.6、函数返回值说明
1.7、函数原型和函数声明
1.8、调用函数
1.9、函数调用条件
1.10、文件包含
1.11、函数的嵌套调用
1.12、函数的递归调用
1.13、利用递归求阶乘示例
#include <stdio.h>
int factorial( int iNum);
int main() {
int n=10;
printf(“i=%d factorial: %d\n”,i, factorial(n));//计算10的阶乘
return 0;
}
int factorial( int iNum)
{
if ( iNum <= 1 )
return 1;
else
return (iNum*factorial(iNum-1));
}
2、参数传递
2.1、按值传递
2.2、数组作为函数参数
2.3、一维数组作为参数示例
//形参和实参都用数组名,如:
void f(int aiNO[],int nNum)
{
aiNO[0] = 1;
aiNO[1] = 2;
nNum = 3;
}
void main()
{
int aiNO[10]={0},nNumber=5;
f(aiNO, nNumber);
printf(“%d,%d,%d”, aiNO[0], aiNO[1], nNumber);
//观察这三个值有什么变化?
}
2.4、数组作为函数的形参
3、数据传递的几种方式
3.1、局部变量和全局变量
3.2、静态存储和动态存储
4、存储类别
- 内存中的存储区域包括下面几个部分:
- 程序代码区:存放函数体的二进制代码
- 静态区/全局区(static):全局变量和静态变量的存储 区域
- 堆区(heap):程序员分配释放。
- 栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值
- 常量区:字符串、数字等常量存放在常量区。const修饰的全局变量存放在常量区。程序运行期间,常量区的内容不可以被修改。
5、静态的局部变量