C语言 函数返回指针

  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语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。

>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行编程训练)