本篇内容主要讲解“c语言指针实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c语言指针实例分析”吧!
指向指针的指针
一个指针可以指向整型变量、字符变量,当然也可以指向指针变量。
用一个指针变量A存放另一个指针变量的地址,称指针变量A为指向指针的指针变量。
指向指针的指针变量定义形式:
类型说明符 **指针变量名;
例如:int **p;
指针变量作函数参数
函数的参数类型可以是任何合法的C语言类型。
指针变量也可以作为函数参数。
(1)形参为整数变量的交换
(2)形参为指针变量的交换
(3)C语言中实参和形参之间的数据传递是单向的“值传递”方式,指针变量作为函数参数时也是如此,被调用函数中不可能通过改变形参指针变量的值来改变实参指针变量的值,但可以通过改变形参指针变量指向的值来间接改变实参指针变量指向的值。
返回指针的函数和指向函数的指针
函数返回值可以是任意合法的C语言数据类型,所以函数返回值也可以是指针类型
类型说明符 *函数名(参数列表);
例如:
int *fun(int x, int y);
除了有返回指针的函数之外,还有指向函数的指针。
函数在编译时会被分配一个入口地址,这个入口地址就称为函数的地址,将该函数地址赋给一个函数指针变量,该指针变量就可以指向这个函数。
定义形式:
类型说明符 (* 指针名)(参数列表);
例如:
int func(int x, int y);
int (*p)(int x, int y); /*p就是函数指针*/
p = func; /*函数指针p指向函数func()*/
调用方式:
函数指针名(实参列表);
例如:p(x, y);等价于func(x, y);
注意:
(1)定义了函数指针,需要将某个函数地址赋给该函数指针,然后才能通过函数指针调用函数
(2)将一个函数地址赋给函数指针时,该函数的特征必须与函数指针定义时相同,否则编译出错,函数特征是指函数的参数列表个数、类型、返回值类型。
到此,相信大家对“c语言指针实例分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。