您的位置:首页 > 其它

指针函数与函数指针理解

2012-03-12 23:16 113 查看
1、指针作为函数参数

跟传址函数一样的用法,形参的改变对应的实参有效。

2、指针函数

指针最为函数的返回值。

语法格式: 数据类型 *函数名(参数表)

1、数据类型是函数返回的指针所指向数据的类型

2、*函数名声明了一个指针型的函数

3、参数表是函数的形参列表

例如:int *fun(int a,int b);

3、函数指针

指向函数的指针

语法格式: 数据类型 (*函数指针名)(参数表);

1、数据类型是指函数指针所指向的返回值的类型

2、参数表中指明该函数指针所指向函数的形参类型和个数

例如:int (*p)(int ,int)

在定义了指向函数的指针变量后,在使用此函数指针之前,必须先给他赋值,使它指向一个函数的入口地址。由于函数名是函数在内存中的首地址,因此可以将函数名赋给函数指针变量,赋值的一般语法格式: 函数指针名=函数名。 例如: p=func1;

其中,函数名所代表的函数必须是一个已经定义过的,和函数指针具有相同返回类型的函数。并且等号后面只需写函数名而不要写参数,p=func(a,b)这种形式是错误的。

当函数指针指向某函数以后,可以用下列形式调用函数: (*指针变量)(实参列表); 例如:表达式(*p)(a,b)就相当于func(a,b).

4、指向指针的指针

指向另一个指针的指针,称为二级指针,二级指针变量存储的是一级指针的地址值。定义形式: 存储类型 数据类型 **指针变量名

数据类型通过两次简介寻址后所访问的变量类型。

int i,*p=&i; int **pp=&p;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: