函数的形参部分是一个复制,如果要真正修改实参,必须通过指针的简介访问操作以访问需要修改的变量。
int f()[]
f是一个函数,它的返回值是一个整形数组,这是非法的,函数只能返回标量值,不能返回数组。
int f[]()
f似乎是一个数组,它的元素类型时返回值为整形的函数,但是是非法的。
数组元素必须具有相同的长度,但不同的函数显然可能具备不同的长度。
int (*f[])();
f肯定是一个数组,数组元素的类型是函数指针,它所指向的函数的返回值是一个整形值。
int f(int);
int (*pf)(int) = &f;
对于取地址,除了数组其他最好都要用取地址来赋予给指针。
初始化表达式中的取地址操作符是可选的,因为函数名都被使用时总是有编译器把他转化为函数指针,&只是显示说明了编译器将隐式执行的任务。
函数名f首先转化为一个函数指针,该指针指定函数在内存中的位置,然后,函数调用操作符调用该函数,执行开始于这个地址的代码。
阅读(654) | 评论(0) | 转发(0) |