1、函数的嵌套调用和链式访问
1)嵌套调用
#include<stdio.h> int main() { printf("hehe\n"); return 0; }
一个最简单的嵌套调用:在main函数中,调用printf函数,打印 "hehe" 。
函数可以嵌套调用,但是不能嵌套定义
2)链式访问
:把一个函数的返回值作为另外一个函数的参数
#include<stdio.h> #include<string.h> int main() { char arr[] = "abcdef"; printf("%d", strlen(arr)); return 0; } //strlen函数用于计算字符串大小
补充: 计算字符串大小 和 计算数组元素个数
//计算字符串大小 strlen函数(必须引用头文件"string.h") // #include<stdio.h> #include<string.h> int main() { char arr[] = "abcdef"; printf("%d", strlen(arr)); return 0; } //计算数组元素个数 可以利用关键词 sizeof #include<stdio.h> int main() { int arr[] = { 0,1,2,3,4 }; int sz = sizeof(arr) / sizeof(arr[0]); printf("%d\n", sz); return 0; } //sizeof(arr)计算的数组所占空间的大小 //sizeof(arr[0])计算的是数组首元素所占空间的大小 //sz = sizeof(arr) / sizeof(arr[0]) 表示数组元素的个数
2、函数的声明和定义
1)函数的声明
1. 告诉编译器有一个函数,函数名是什么,参数是什么,返回类型是什么;函数声明无法决定函数是否真实存在
2. 要满足先声明函数,后使用函数
3. 函数的声明一般要放在头文件中
#include<stdio.h> //函数的声明 int Add(int x, int y); int main() { int a = 0; int b = 0; scanf("%d %d", &a, &b); //函数的使用 int sum = Add(a, b); printf("%d\n", sum); return 0; } //函数的定义 int Add(int x, int y) { return x + y; }
2)函数的定义
这里给出一个简单的函数作为示例:
int Add(int x, int y) { return x + y; } //int Add (int x, int y) //函数的返回值类型 函数名 函数的参数
函数的定义是指函数的具体实现,交待函数的功能实现
将上面的代码改写:
Add.h 放置函数的声明
Add.c 放置函数的实现