函数1
1.函数的返回值不能是数组。
2.函数声明的参数列表可以没有变量命名。
3.函数与数组
2.
int sum(int arr[],int n);
int sum(int *arr, int n); //当且仅在函数头中,arr[] 和 * arr相同。
4.const函数参数 :表明在函数模块中 应该视参数为 常量,不可对其进行修改。
5.指针常量和常量指针
const int * p; //代表指针指向一个常量 ,常量指针
int * const p; //指针常量,代表该指针是一个常量
6.指针数组和数组指针
char (*p)[10]; //一个数组指针,该指针指向一个存储了10个char的数组
char * p[10]; //一个指针数组
7.结构作为函数的参数 ,字符串作为函数的参数,其他模板作为函数的参数。
8.函数指针
1.获取函数的地址 :
void sayhi(...); //函数名就是函数的地址
2.声明函数的指针并调用函数
double sum(int);
double(*pf)(int);
pf = sum;
//两种方式调用
doubel x= pf(2);
double x = (*pf)(2);
3.函数指针数组(自动类型推断只能用于单值初始化)
const double * (*pa[3])(const double *, int ) = {f1, f2, f3};