函数名就是函数入口地址
如已经定义了int add(int x,int y){}这个函数
int (*math)(int,int);
math=add;
回调函数:
process(int (*mt)(int,int),int x ,int y){}
定义指针数组,里面的元素分别指向函数地址
int (*math[2])(int,int)={add,div};
三种预处理命令:
宏定义:分不带参数和带参数 #define PI #define AREA (r) PI*r*r
文件包含:#include <stdio.h> #include “my_math”
条件编译:#ifdef #else #endif #ifndef #endif
条件编译在注释中的应用:
#ifdefine 0
#endif
#include <>与#include “” 的区别:前者是在user/include下面找所包含的文件,后者是在当前文件夹下
常见的宏定义:
__FILE__ :文件名
__LINE__ :行数
__func__ :函数
gcc –v :打印本机gcc集成开发环境版本信息
\ :续行符
头文件定义其实是在定义接口
自定义一个接口:my_math.h
#ifndef MY_MATH_H_
#define MY_MATH_H_
int sub(int,int);
int add(int,int);
#endif
gcc *.c 编译文件夹下所有.c文件
nm 文件名.c :查看文件中的函数