广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言 函数缺省参数详情
  • 864
分享到

C语言 函数缺省参数详情

2024-04-02 19:04:59 864人浏览 泡泡鱼
摘要

目录一.函数简介1.函数声明2.函数定义3.函数调用 4.函数形参和实参 二.函数缺省参数1.函数全缺省参数2.函数半缺省参数三.注意事项一.函数简介 1.函数声明 函数声明只是一个

一.函数简介

1.函数声明

函数声明只是一个空壳,不会有具体的函数实现,而定义要实现函数的实现,例如:


int sub(int x,int y); //只需要声明即可,不需要实现这个函数的功能

2.函数定义

函数的定义需要实现这个函数的功能,例如:


int sub(int x,int y) ////需要实现这个函数的功能
{
    return (x-y);
}

3.函数调用

函数调用之前必须声明或者定义,否则会报错:找不到标识符,这也是为什么 hello world 中调用 printf 函数必须要包含 stdio.h 头文件的原因;

4.函数形参和实参

形参:函数被定义或者声明时,参数列表都是形参;


//函数被声明时,参数列表中的x,y都是形参
int sub(int x,int y); 
//函数被定义时,参数列表中的x,y都是形参
int sub(int x,int y) 
{
    return (x-y);
}


实参:函数被调用时,传递的参数列表都是实参;


int main(void)
{
    //sub函数被调用,传递的参数1,2都是实参
    sub(1,2);
    return 0;
}

二.函数缺省参数

缺省参数:在声明或者定义函数时为函数的参数指定一个默认值。在调用函数时,若没有指定实参则使用默认值,否则使用指定实参;

其中缺省参数分为两类:全缺省参数 和 半缺省参数;

1.函数全缺省参数

函数全缺省参数:函数在定义或者声明时,所有的形参都默认值,举个例子:



//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言 函数缺省参数
//@Time:2021/06/23 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!


#include <stdio.h>
//x,y为函数的形参,如果函数被调用时,没有设置x和y值,x值默认为100,y值默认为5
int sub(int x=100,int y=5) 
{
    return (x-y);
}
int main(void)
{
    int a=20;
    int b=10;
    //变量a、b为sub函数的实参
    printf("sub函数计算结果 = %d\n",sub(a, b));
    //注意:我们并没有为sub函数设置实参,此时默认x=100 y=5
    printf("sub函数计算结果 = %d\n",sub());
    return 0;
}

2.函数半缺省参数

函数半缺省参数:函数在定义或者声明时,只有一部分形参有默认值,举个例子:



//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言 函数缺省参数
//@Time:2021/06/23 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!


#include <stdio.h>
//x,y为函数的形参,如果函数被调用时,没有设置y值,y值默认为5

int sub(int x,int y=5) 
{
    return (x-y);
}
int main(void)
{
    int a=20;
    int b=10;
    //变量a、b为sub函数的实参
    printf("sub函数计算结果 = %d\n",sub(a, b));
    //注意:我们并没有为sub函数第二个参数设置实参,此时默认y=5
    printf("sub函数计算结果 = %d\n",sub(a));
    return 0;
}


三.注意事项

1.参数给缺省值只能从右往左给定

(即:有默认值的形参必须放在最后),例如:


void Funtest(int a ,int b;int c=30)*可以
void Funtest(int a =10,int b;int c)*不行
void Funtest(int a =10,int b;int c=30)*不行


2.缺省值必须是常量或者全局变量

到此这篇关于C语言 函数缺省参数详情的文章就介绍到这了,更多相关C语言 函数缺省参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C语言 函数缺省参数详情

本文链接: https://www.lsjlt.com/news/135107.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言 函数缺省参数详情
    目录一.函数简介1.函数声明2.函数定义3.函数调用 4.函数形参和实参 二.函数缺省参数1.函数全缺省参数2.函数半缺省参数三.注意事项一.函数简介 1.函数声明 函数声明只是一个...
    99+
    2022-11-12
  • c语言中缺省参数的类型总结
    1、函数全缺省参数,函数在定义或者声明时,所有的形参都默认值。 #include <stdio.h> //x,y为函数的形参,如果函数被调用时,没有设置x和y值,x值...
    99+
    2022-11-12
  • C语言 main 函数详情
    目录1、main()2、void main()3、int main(void)4、int main ()5、int main(int argc,char *argv[])前言: 但...
    99+
    2022-11-12
  • C语言 sizeof 函数详情
    目录一.sizeof 函数简介二.sizeof 函数实战一.sizeof 函数简介 在 C 语言中,char 字符串也是一种非常重要的数据类型,我们除了使用 sizeof 函数获取字...
    99+
    2022-11-12
  • C语言 sprintf 函数详情
    目录一.sprintf 函数简介二.sprintf 函数使用三.sprintf/fprintf/printf 函数区别一.sprintf 函数简介 sprintf 函数用于将格式化的...
    99+
    2022-11-12
  • C语言可变参数函数详解
    目录C语言可变参数函数总结C语言可变参数函数 C 语言允许定义参数数量可变的函数,这称为可变参数函数(variadic function)。这种函数需要固定数量的强制参数(manda...
    99+
    2022-11-12
  • C++缺省参数的理解
    目录什么叫缺省参数?缺省多个参数的情况1.全缺省2.半缺省总结 什么叫缺省参数? 缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认...
    99+
    2022-11-12
  • C++缺省参数与函数重载怎么使用
    这篇文章主要介绍了C++缺省参数与函数重载怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++缺省参数与函数重载怎么使用文章都会有所收获,下面我们一起来看看吧。一、缺省参数缺省参数形象来说就是"...
    99+
    2023-07-02
  • C++函数的默认参数详情
    文章转自微信 公众号:Coder梁(ID:Coder_LT) C++当中的支持默认参数,如果你学过Python,那么想必对此不会陌生。C++中的默认参数的用法和Python基本一致...
    99+
    2022-11-12
  • C++初阶教程之缺省参数与函数重载
    目录一.缺省参数1.概念2.分类3.注意二.函数重载1.概念2.C++支持函数重载的原理Linux的修饰规则总结一.缺省参数 C++祖师爷在用C写代码的时候,就觉得有些地方用着很不方...
    99+
    2023-05-17
    c++ 缺省参数 c++ 函数重载 c++缺省值怎么设置
  • C++缺省参数怎么理解
    本篇内容主要讲解“C++缺省参数怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++缺省参数怎么理解”吧!什么叫缺省参数?缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函...
    99+
    2023-06-21
  • 如何使用C++缺省参数
    这篇文章将为大家详细讲解有关如何使用C++缺省参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、缺省参数概念缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有...
    99+
    2023-06-26
  • C语言函数的递归调用详情
    目录一、什么是递归二、递归与迭代一、什么是递归 程序调用自身的编程技巧称为递归( recursion) 。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直...
    99+
    2022-11-13
  • C语言main()函数的参数问题详解
    #include<stdio.h> void main(int argc, char* argv[]) { while (argc > 1) { ++a...
    99+
    2022-11-13
  • C++的缺省参数你了解嘛
    目录一、缺省参数概念有什么用 二、缺省参数分类全缺省参数 半缺省参数 总结一、缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用...
    99+
    2022-11-12
  • C++浅析缺省参数的使用
    目录一. 概念二. 分类全缺省参数半缺省参数一. 概念 缺省参数(有些地方叫默认参数)是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否...
    99+
    2022-11-13
  • C++缺省参数的具体使用
    目录一、缺省参数概念二、缺省参数分类❗ 全缺省参数 ❕❗ 半缺省参数 ❕缺省参数的误区1.滥用缺省参数,损害代码的结构和可读性。2.多个缺省参数,可能引入逻辑含混的调用方式3.重载时...
    99+
    2022-11-12
  • C语言的可变参数函数实现详解
    目录1、简介2、简单的使用方式总结1、简介 今天看到一个有趣的东西C语言的可变参数函数 众所周知,C语言的函数不能重载,那么你printf和scanf是怎么可以输入多个参数的 例如查...
    99+
    2022-11-12
  • C语言函数调用堆栈详情分析
    目录 一、C函数栈帧开辟以及回退过程二、C函数调用约定和返回值 一、C函数栈帧开辟以及回退过程 __cdecl(C语言默认调用方式,函数参数8字节以内,使用pus...
    99+
    2022-11-13
  • C语言中回调函数的使用详情
    目录1.程序架构2.回调函数的作用3.掌握回调函数的程序编写4.回调函数在产品中的应用下文将学习到; 程序架构的核心理念和需求掌握回调函数的作用掌握回调函数的程序编写掌握回调函数在产...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作