1、 函数返回指针
函数返回指针,在C语言中,函数可以返回指针类型的数据,这样,我们就可以将指针类型的操作结果,返回给函数以外的
指针变量去使用。
2、返回指针的函数定义格式:
数据类型 * 函数名(参数表)
{
代码1;
代码n;
return 指针变量;
}
格式分析:
(1)数据类型:就是前面我们学习函数定义时的类型:整型int,浮点型float,字符型char。
(2)"*" 说明返回的类型是指针。
(3)函数名(参数表){}与前面学习函数定义的格式是一样的。
(4)一定要加入return语句,同时,return语句后面是要返回(指针变量)。
3、例子:
int *test(int *p)
{
*p = *p + 1;
return p;
}
void main()
{
int a=1;
int *b;
b = test(&a);
}
例子分析:
(1)首先,定义了函数test,返回类型是整形的指针类型,参数部分定义了整型的指针变量p作为形参。
(2)main函数中定义了整型变量a并赋初值1,然后,再定义了整型指针变量b。
(3)调用了函数test,而实参部分就通过&运算符取出a在内存中的地址,传递到形参p。
(4)然后,在test函数中,首先执行*p+1,而当前的p指向a的内存地址,所以*p就取出了1,
因为,a在内存中的起始地址对应的单元值是1,然后,就是1+1结果等于2,并保存回p所指向的内存单中,
所以,a中的值由1变为2。
(5)然后,执行return p,就是返回p指向的内存地址。
(6)然后,当test调用完毕以后,就把返回的内存址赋给指针变量b,所以,b 就指向了 a 的内存地址。
=======================================================================
非常好,现在,我们已经掌握了C语言中的(字符串指针作为函数参数)但是,如何去运行用它呢?
所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。
>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行编程训练)
|