指针专题4-指针作为函数返回值(指针函数)

  C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数。下面的例子定义了一个函数strlong(),用来返回两个字符串中较长的一个。

/*
返回两个字符串中最长的一个
*/
char *strlong(char *str1, char *str2)
{
    if(strlen(str1)>=strlen(str2)){
        return str1;
    }else{
        return str2;
    }
}
void main(){
    char str1[30],str2[30],*str;
    gets(str1);
    gets(str2);
    str=strlong(str1, str2);
    printf("longer string:%s",str);
}

原文地址:https://www.cnblogs.com/Mike2019/p/11812905.html

时间: 2024-11-14 13:00:10

指针专题4-指针作为函数返回值(指针函数)的相关文章

速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

[源码下载] 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函数返回值 可变函数 匿名函数 闭包函数 回调函数 示例1.函数的相关知识点 1(基础)function/function1.php <?php /** * 函数的相关知识点 1(基础) */ // 可以在相关的 function 声明语句之前调用该函数 f1(); function f1() { echo "f1"; echo "<br />"; } // 这里调用

函数指针,函数指针数组,函数返回值为函数指针

函数的名字就是函数的首地址:定义函数指针; int (*p)(int ) p为函数指针变量名字,int 为函数的返回值类型为int型:(int)为函数的形参类型为int型, 注:因为优先级所以要用(*p),否则就会p先和后面的()结合为int*p(int),意思就变为p(int)函数的返回值为int* 注:main2()函数中   int (*p[])(int ,int )  为一维数组,下面写错了, #include<stdio.h> #include<stdlib.h> int

初级函数返回值

返回值 什么是函数返回值:函数执行后的结果外部需要使用的时候,我们不能直接给予,是需要通过return返回. 1.执行函数完毕之后,返回的数据 2.有return的函数就有返回值,反之则没有返回undefined 3.把函数内部的值赋值给外边 var j=fn(2,3); console.log(j); function fn(a,b) { var c=a+b; // 如果我们想把函数内部的值赋值给外部,必须使用return; //如果没有return或则return没有值,函数返回undefi

Python函数中的变量和函数返回值

1.函数的变量 局部变量和全局变量: Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量. def fun(): x=100 print x fun() x = 100 def fun(): global x   //声明 x +=1 print x fun() print x 外部变量被改: x = 100 de

Python函数中的变量和函数返回值的使用实例

1.函数的变量 局部变量和全局变量: Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量. def fun(): x=100 print x fun() x = 100 def fun(): global x //声明 x +=1 print x fun() print x 外部变量被改: x = 100 def

函数指针与指针函数返回值的区别

指针函数是指带指针的函数,即本质是一个函数.函数返回类型是某一类型的指针定义: 类型标识符 *函数名(参数表)eg: int *f(x,y);函数指针是指向函数的指针变量,即本质是一个指针变量.int (*f) (int x); /* 声明一个函数指针 */ f=func; /* 将func函数的首地址赋给指针f */ 函数指针与指针函数返回值的区别,码迷,mamicode.com

C++ Primer 学习笔记_17_从C到C++(3)--引用、const引用、引用传递、引用作为函数返回值、引用与指针区别

欢迎大家阅读参考,如有错误或疑问请留言纠正,谢谢 一.引用 1.引用是给一个变量起别名 变量: 名称 空间 引用: 引用不是变量 引用仅仅是变量的别名 引用没有自己独立的空间 引用要与它所引用的变量共享空间 对引用所做的改变实际上是对它所引用的变量的改变 引用在定义的时候必须要进行初始化 引用一经初始化,不能重新指向其他变量 2.定义引用的一般格式: (1)类型  &引用名 = 变量名: (2)例如: int a=1; int &b=a; // b是a的别名,因此a和b是同一个单元 (3)

C基础--指针与函数返回值

#include <stdio.h> #define A 0 int funcA(int a, int b) { return a + b; } /*把指针作为函数的返回值*/ int * funcB(int a, int b) { static int c = A; c = a + b; return &c; } /*通过函数进行内存的申请*/ /* * 参数:要申请的内存大小 * 返回值:申请好的内存的首地址 * 这是一种不好的方式 */ int * funcC(int size)

C++基础知识(八)---函数返回值(返回值,返回指针,返回对象,返回引用)---引用---复制构造函数(拷贝构造函数)

一.函数返回值 1.返回值: int test () { int a=1; return a; } 返回值时最简单的方式,它的操作主要在栈上,变量a在函数结束后会删除,为了返回a的值,系统会在内部建立一个临时变量保存a的值,以返回给调用该函数的表达式,调用结束后变量便不再存在.如果a是简单地数据类型也无所谓,不是很占用内存,如果a是大的自定义类型的数据,那么对a的复制将会占用比较大的内存.函数返回值是右值,不能进行运算符操作. 2.返回指针: int *test2() { int *b=new

函数返回局部指针变量是否可行?

我们大家都知道指针函数的返回指针不能指向函数内的自动变量,如果需要返回函数的内部变量的话,就需要将该变量声明为静态变量.为什么函数能够返回 静态变量的地址而不能返回局部自动变量的地址,到底什么样的对象能够返回其地址,而什么样的对象不能够返回其地址?静态变量与局部自动变量的主要区别是什 么? 要想明白这些就需要理解程序的内存布局情况 程序的存储区域分为:代码段.只读数据段.已初始化的读写数据段.未初始化的数据段.堆.栈. 1.代码段.只读数据段.已初始化的读写数据段.未初始化的数据段都属于静态区域