精华内容
下载资源
问答
  • 函数声明
    千次阅读
    2020-08-21 19:26:31

    继续小菜鸡的C++学习之旅

    编程中的函数与数学中的函数不一样,编程中函数的编些要求功能独立且在相同的结果可以重复。

    我们可以将程序想象成一条食品生产线,就拿我喜欢吃的重庆小面来说吧。

    而在我的理解中,程序就是函数的集合。函数可以是侧重计算、具有返回值的过程,比如,生产个包装袋啊,把辣椒装入袋子里啊,也可以是没有返回值,仅仅是程序这台机器中用于传输的一个纽带。

    在C++中,main函数即便是初学者也一定见过,它是启动函数,即生产线的开关,它控制总电源,能够给各个函数输送必需的能源和原料,而其他的函数也有可能调用别的函数,调用中通过计算获得结果而结束(返回值和结果不是同一个概念),返回调用处,最终又回到了main函数。

    1. 函数声明

    要使函数能够被调用,要先声明函数的调用方式,就是明确函数名是什么,函数返回什么类型的值,函数参数有哪些,有啥数据类型等。即先告诉电脑(生产线)我们有这种方法可以将原料变成某种中间产品。

    其格式为:

    type funcName(type1 para1,type2 para2,type3 para3,…)

    格式中的type表示返回类型,funcName表示函数名字,括号中的每个typei和parai的组合用于描述参数的类型和名字。参数描述数据的使用方式,若干个参数构成参数序列,描述调用函数时所需传递的数据。

    就像是

    int miaoMiao(int meow);

    上句声明了一个函数,名字是miaoMiao,输入和结果都是整型。注意的是,最后需分号。

    2. 函数定义

    格式

    函数的计算方法是由函数定义所规定的,所以定义的形式包含了上面提到的声明部分和定义部分。

    其格式为:

    type funcName(type1 para1,type2 para2,type3 para3,…)
    {
    //...
    }

    其实也就是下面加了个大括号,大括号里的东西就是定义部分,是函数所述方法的说明。

    int miaoMiao(int meow)
    {
        return meow+meow*meow;
    }

    在函数的定义中,对函数重新做了声明,这个声明要求与独立的函数声明一致。即函数返回类型相同,函数参数个数相同,各个参数的类型对应相同,函数名也相同。函数定义如果与函数声明不一致,则声明的函数与定义的函数就是两条平行线。

    返回时需要用到return语句,因为函数声明了返回类型是int,所以应该在return后面加一个int类型的值或表达式。

    不过注意上述两个示例,找不同就会发现下面在函数声明后,没有分号,这是因为作为函数的定义(而非声明),声明部分和定义部分是不能分开的。

    在函数定义的时候需要注意:1. 定义部分的花括号后面没有分号,2. 函数定义不是语句,所以不能把函数定义放在其他函数的定义中。(你也不能把一台机器当成另外一台机器的原料对不对hhh)

    就像是:

    int main(){
        int miaoMiao(int meow)
        {
            return meow+meow*meow;
        }
        cout<<miaoMiao(2)<<"\n";
    }

     

    更多相关内容
  • c语言函数声明(c语言函数声明格式)

    千次阅读 2021-05-21 07:55:07
    thanks函数声明指函数原型声明,只有函数名,函数类型,参数个数和类型,无函数体。一般放在主函数前。逗号结尾。函数定义,除上述外,去掉结尾逗号,加函数体。可放在.函数定义就是规定函数的格式与功复能。函数...

    请详细说明一下。thanks

    函数声明指函数原型声明,只有函数名,函数类型,参数个数和类型,无函数体。一般放在主函数前。逗号结尾。函数定义,除上述外,去掉结尾逗号,加函数体。可放在.

    函数定义就是规定函数的格式与功复能。函数声明就是在函数调用之前进行的一种说明。下面举例说明两者的语法格式:#include int fun(int a, int b); // 函数制的.

    首先,你提的问题就有问题。C是一门编程语言,函数是在源代码里面声明的。所以你该问在c语言编写的源代码里,函数声明的位置有几种? 再就是:具体的就是C原码.

    主要想问为什么在该文件中已经定义的函数 在开头还要声明一次

    不要用main来举例,main是主函数,只能拥有一个。不用声明,直接定义就行了,把所有的声明都放a.h中去,然后include"a.h",再在主函数所在的文件夹中include "a.

    函数声明具体怎么会事

    就是告诉编译器函数的类型,名称,使用的参数的类型。

    int add(int x int y) { int z; z=x+y; return(z); } 以上函数第一行为声明,花括号内。

    int add(int x int y) 这句话不对,至少应该写成:int add(int x ,int y) 声明的时候,可以这样写:int add(int , int ) 因为只是声明有这么个函数,名字为何,返回值为何,参数为.

    有了声明,但并没有省略函数定义,所以请教大家函数声明的意义是什么?.

    第一,如果你没有看错就是你的书错了,只有int和char类型的函数不必声明 第二,c中可以不声明函数的条件是3个1就是上面我说的2.是被调函数定义在主调函数之前,可.

    声明是声明函数的原型说明的是函数名称,返回值类型,以及参数类型和参数个数. 定义除了要有以上内容外还必须要有函数的功能, 声明和定义可以分开写的,但是在使.

    c语言中,无论是常量,变量,只有先定义才能使用。函数声明,为了减少函数的混淆,所以要有个函数名,即声明。函数定义是系统要求的,不定义就错误,而函数声明.

    应用函数求5!+16!+27!。 #include main() { float jiec(); /*被调函数声明*/ 。

    函数声明它为编译器提供了有用的信息,编译器在翻译代码的过程中,只有见到函数原型(这里即可以是声明也可以是定义)之后才知道这个函数的名字、参数类型和返回.

    有区别的,函数声明以分号结尾,函数定义后跟函数体 具体形式上可以相同,但声明也可以用省略模式,比如:int f(int a,int b) { return a+b; } 其声明可以是:int f(int a,int b.

    学到了c语言的函数调用和说明部分,但老师并没有详细的讲解关于函数声明。

    最好吧函数声明放在头文件的下面。不管用不用,值要用了调用函数就在头文件下声明下。不然你写调用函数嵌套很容易出现函数声明类型出错等问题的。 如果需要将函数.

    main是程序的入口点,程序是向下执行的,其他函数定义在main的下面。系统会找不到函数的位置 就需要声明,有什么函数,让系统好找。。 如果函数在程序的上面,.

    举个例子:求最大值。#include int max(int x,int y); //这是声明,定义放在调用函数后面 void main() { int a=3,b=5; printf("%d\n",max(a,b));//先调用,后定义 } int max(int .

    一般是自己定义的一些函数,在你调用之前,需要声明该函数。比如说:int fun(int , int); //函数声明int main(void){ fun(a, b); //函数调用 return 0;}int fun(int x, int y) //函数实.

    请问这是C语言语法吗???

    答案是d,c语言中数组可以用它的首地址来表示,即对于数组x[10],x可以表示它的头指针,这里b中的声明有类型匹配错误。这种题目要注意的是声明中参数类型,返回值类.

    好像有很多在主函数内部声明的

    C语言函数声明是在主函数内部。

    定义是声明还是使用? 函数不是应该先声明在使用吗? 定义和声明如何解释.

    声明的意思呢,就是告诉编译器(就是你用的编译程序的东西),在编译器那里挂个号,挂号完了,编译器知道有这么号函数或者变量了。定义呢,就是实现那个函数,或.

    为什么看到的声明部分大多是前面那种写法啊?什么意思啊?

    没什么区别,声明可以不声明参数名,只要声明参数类型就可以了。但是第一种是不好的写法,不知道你的函数是干啥的,每个参数起什么作用,建议声明是加参数名,.

    能不能说清楚,我不知道你是什么意思啊。你是想在主函数中调用一个函数,然后不知道这个被调用的函数怎么定义吗??如果是这样的话,我可以告诉你。首先说个例子.

    展开全文
  • 函数定义、函数声明、函数原型

    千次阅读 2021-04-07 10:38:01
    函数定义带有函数体,函数声明≈函数原型 void threeline(void); 当函数声明宣示了函数的名字、参数类型和个数、返回值类型,它就叫函数原型。 只有带函数体的才叫定义。函数体后头不加;号 函数原型后面由分号;...

    函数定义、函数声明、函数原型;变量声明、变量定义;类型声明、类型定义

    1.函数定义、函数声明、函数原型

    函数声明中不但包含“函数原型声明”,也包含“函数定义”和老式的“函数类型声明”。

    • 函数类型声明(Function type declaration)。声明了函数名是一个函数及其返回值的类型。(没对参数进行描述)
    • 函数原型式的函数类型声明:声明了函数名返回值的类型参数的类型(和个数)
    • 函数定义:写了函数体的函数声明。不过函数体结束不带;

    函数定义带有函数体,函数声明≈函数原型
     

    • 函数声明宣示了函数的名字参数类型个数返回值类型,它就叫函数原型式声明,即函数原型
    • 只有带函数体的声明才叫定义
    • 函数定义本身就是一种函数声明只不过其函数体后不加;
    `不带函数体的函数声明`应该如何称呼呢?在C语言中,它们叫被做“函数类型
    声明”(Function type declaration)。`函数类型声明`最主要的特点是声明了
    `函数名`是一个函数及其`返回值的类型`,如果也声明了参数的类型,则是
    `函数原型`式的函数类型声明。现代的C语言的函数定义和函数类型声明
    都采用函数原型式的风格,C99把旧的非原型形式视为过时。
    
    • 函数原型后面由分号;结尾。
    • 由于有 Old Style C 语法的存在,并非所有函数声明都包含完整的函数原型void threeline();这个声明并没有明确指出参数类型和个数,所以不算函数原型。

    函数原型式声明:

    int fun(int a, int b); // 函数名字fun,返回类型 int,有2个int 参数
    

    函数原型式声明:

    int fun(int, int); // 函数名字fun,返回类型 int,有2个int 参数
    

    函数原型式声明:

    fun(int, int); // 函数名字fun,默认返回类型(其实也是int),有2个int 参数
    

    例如函数声明和定义:

    int fun(int a, int b) 
    {
    	return a+b;
    }// 花括号里是函数体,结束处没有分号,有形参名。
    

    在这里插入图片描述

    知识点:函数定义也具有对函数名的类型加以说明的效果,因此从这个意义上来说,函数定义也是一种对函数类型的说明。这种办法可以检查出函数调用时在参数个数和类型方面的错误。
     
    但是,用这种办法说明函数名并不好,因为这样做在编程时还需要考虑应该把哪个函数定义写在前面,哪个写在后面的问题。假如函数A调用函数B,函数B调用函数C,函数C又调用函数A,究竟如何安排函数定义的顺序就会让人感到无所适从。此外这种办法也不利于代码的组织,在由多个源文件组成的源程序时,这种写法就更会捉襟见肘、漏洞百出。因此,在1990年,C标准借鉴C++语言规定了一种新的说明函数名的方法,这就是函数原型(Function Propotype)式说明函数类型的方法。

    2.变量声明、变量定义

    • 只有分配存储空间的变量声明才叫变量定义
      其实函数也是一样,编译器只有见到函数定义才会生成指令,而指令在程序运行时当然也要占存储空间。那么没有函数体的函数声明有什么用呢?它为编译器提供了有用的信息,编译器在翻译代码的过程中,只有见到函数原型(不管带不带函数体)之后才知道这个函数的名字参数类型返回值,这样碰到函数调用时才知道怎么生成相应的指令,所以函数原型必须出现在函数调用之前,这也是遵循“先声明后使用”的原则。

    3.类型声明、类型定义

    声明一个类型是不分配存储空间的

    类型声明==“类型定义”
    
    展开全文
  • c++ 函数声明与定义

    千次阅读 2021-05-29 19:56:23
    为什么 C++ 允许多次声明


    一、函数的声明


    函数声明的作用:
    告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。


    二、函数的定义


    函数的定义一般主要有5个步骤:

    1、返回值类型 :一个函数可以返回一个值。在函数定义中

    2、函数名:给函数起个名称

    3、参数列表:使用该函数时,传入的数据

    4、函数体语句:花括号内的代码,函数内需要执行的语句

    5、return表达式: 和返回值类型挂钩,函数执行完后,返回相应的数据


    语法如下:

    返回值类型 函数名 (参数列表)
    {
    
           函数体语句
    
           return表达式
    
    }
    

    例子:

    //函数定义
    int add(int num1, int num2)
    {
    	int sum = num1 + num2;
    	return sum;
    }
    

    三、函数声明与定义使用区别


    函数的声明可以多次,但是函数的定义只能有一次


    //声明可以多次
    int max(int a, int b);
    int max(int a, int b);
    
    //定义只能一次
    int max(int a, int b)
    {
    	return a > b ? a : b;
    }
    
    int main() {
    
    	int a = 100;
    	int b = 200;
    
    	cout << max(a, b) << endl;
    
    	system("pause");
    
    	return 0;
    }
    
    

    四、为什么 C++ 允许多次声明呢?


    比如一些函数已经包含在头文件了,但是依然可以在开头再次声明一些实际用到的函数。
    这样有以下好处:

    1、可以防止某些头文件中漏掉一些函数的声明;

    2、这种方式使源代码更加清晰,特别是在庞大的工程中,更加有利于源代码的阅读。

    3、有利于组内多人实时调整接口,等待模块写好之后,再将需要开放的接口一并写入头文件,方便各模块之间的开发,编译不依赖其他模块。


    五、分文件开发


    1、后缀名为 .h 的头文件写函数的声明

    2、后缀名为 .cpp 的源文件写函数的定义

    //xxxx.h文件
    #include<iostream>
    using namespace std;
    
    //写函数的声明
    void xxxx(int a, int b);
    
    
    //xxxx.cpp文件
    #include "swap.h"
    
    //写函数的定义
    void xxxx(int a, int b)
    {
    	int temp = a;
    	a = b;
    	b = temp;
    
    	cout << "a = " << a << endl;
    	cout << "b = " << b << endl;
    }
    
    
    //main函数文件,include 后即可直接使用 xxxx 函数
    #include "xxxx.h"
    int main() {
    
    	int a = 100;
    	int b = 200;
    	xxxx(a, b);
    
    	system("pause");
    
    	return 0;
    }
    
    展开全文
  • c语言函数声明格式是什么?

    千次阅读 2021-05-21 07:53:33
    c语言函数声明格式是“函数类型 函数名称(参数列表);”。在函数声明中的参数列表中,不需要给出具体的变量名称,但必须给出每个变量的类型。函数声明,不是说明的格式是“函数定义格式”的第一行,然后加 “;”,即...
  • 函数声明和函数表达式的区别

    千次阅读 2019-05-20 10:34:59
    函数声明和函数表达式的区别】 每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇分享的是: 【函数...
  • 函数声明式和函数表达式区别

    万次阅读 2019-06-17 19:51:51
    javascript中声明函数的方法有两种:函数声明式和函数表达式. 一、区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的。(函数声明会被提升到当前作用域的顶部,函数表达式则不会...
  • 这篇文章主要介绍了python函数声明和调用定义及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数是指代码片段,可以重复调用,比如我们前面文章...
  • 当函数定义放在main函数之后时,函数声明可以在main函数之前,也可以在main函数里面(只要在(首次)调用此函数的语句之前的任意位置处声明都可以,一般都在main函数开头处声明) 2.当函数定义在main函数之前时,...
  • C语言 函数声明

    千次阅读 多人点赞 2019-03-27 22:00:51
    所谓函数声明,就是在函数尚在未定义的情况下,事先将该函数的有关信息通知编译系统,相当于告诉编译器,函数在后面定义,以便使编译能正常进行。 #include <stdio.h> extern int add(int x, int y); //...
  • 函数声明时,形参可以没有参数名(形参),函数定义时,一定要有参数名(形参),函数调用时,一定要有参数名(实参)。 int A(int); 这里这样写,是函数声明,可以没有形参,只要有形参类型就可以. 在函数...
  • 函数原型&函数声明

    千次阅读 多人点赞 2019-02-20 09:53:36
    函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。这三个元素被称为函数原型,函数原型描述了函数的接口。 函数原型类似函数定义时的函数头,又称函数声明。为了能使...
  • 函数声明后面的const用法

    千次阅读 2018-08-31 01:01:47
    通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢? 看一下下面的例子,就知道了。直接在编译前,就会提示下面的两个错误 // test1107.cpp : 定义控制台应用程序的入口点。 // #include ...
  • 关于C++模板函数声明与定义的问题

    万次阅读 多人点赞 2018-07-22 21:59:37
    关于C++模板函数声明与定义的问题 关于C++模板函数声明与定义的问题 模板函数出现的问题 模板函数问题解决 模板函数出现的问题 今天在写代码的时候,发现了一个关于模板函数的问题。如下所示, demo...
  • js 函数声明提升和变量声明提升

    千次阅读 2018-08-06 18:16:42
    1. 函数声明提升 func() function func () { } 上例不会报错,正是因为 ‘函数声明提升’,即将函数声明提升(整体)到作用域顶部(注意是函数声明,不包括函数表达式),实际提升后结果同下: // 函数声明提升...
  • C++的函数声明、函数定义、函数调用

    万次阅读 多人点赞 2019-07-02 17:30:05
    如果使用自己定义的函数,这个函数在调用它的函数的后面(比如在main函数后面),则必须在调用之前进行函数声明。因为程序是从上到下逐行编译的,若无函数声明,则会无法识别函数。 函数声明在编译时并不检查参数...
  • 函数声明与函数表达式的提升问题

    千次阅读 2019-03-29 16:59:51
    函数a是函数声明,执行的是函数提升,实际效果是 function a() { console.log(1); } a(); 即会把整个函数声明提到作用域顶端 而函数b是函数表达式,执行的是变量提升,实际效果是 var b; b(); b = function() {} ...
  • 函数定义在一定程度上有函数原型声明的作用,当函数定义在后,而调用在前时则必须要在调用语句之前声明函数。若调用该函数在定义之后则可以不用单独给出声明。 ...
  • 函数声明和定义一般都有参数,C语言中函数声明关注的是函数返回值类型、函数名称、函数参数类型,其中函数参数名称并不关注,因此参数名称可以在声明时省略,在定义时取任意名称。 注意:声明和定义是有区别的,具体...
  • 函数声明与函数表达式的区别

    千次阅读 2017-10-09 22:10:50
    函数声明和函数表达式的区别
  • 函数原型,函数声明,函数定义三者之间的关系 函数原型指函数签名,函数名,返回类型和访问修饰符。函数签名指确定的参数数量及其类型。注意参数名可选,也就是可以不写形参名。 例如:void Sum(int a,int b); 或 ...
  • C语言函数声明以及函数原型

    千次阅读 多人点赞 2020-02-24 13:47:56
    函数声明(Declaration),就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,稍后我会把定义补上。 函数声明的格式非常简单,相当于去掉函数定义中的函数体,并在最后加上分号;,如下所...
  •  它是指当我们声明一个变量或是一个函数的时候,我们可以在起前面访问带该变量或函数;即:声明统一提前,赋值原地不变   2、变量声明提前  就是当我们声明一个变量的时候,我们可以在其前方访问到它:这里...
  • 函数原型和函数声明的区别

    万次阅读 2018-07-04 19:22:24
    函数原型:指明函数的名字,返回的类型,有几个参数,这几个参数是什么类型,不需要函数体,也不需要形式参数的名字,其中用分号作为原型的结束符。例如:int fun( int );第一个int指明返回的类型,第二个int指明...
  • 1.function func1(a){} 2.var func2=function(b){} 3.var func3=function func4(c...4.var func5=new Function()//构造函数声明 5.var func6=(function(n1,n2){})();//自执行函数声明(立即执行的函数表达式) 代码:
  • 函数表达式和函数声明有什么区别?

    万次阅读 多人点赞 2018-07-25 20:36:09
    函数声明 函数声明可以定义命名的函数变量,而无需给变量赋值。函数声明是一种独立的结构,不能嵌套在非功能模块中。可以将它类比为 变量声明。就像变量声明必须以“var”开头一样,变量声明必须以“function”开头...
  • 所谓函数原型,又称函数声明,就是在调用这个函数之前要先声明一下这个函数,才能让别的函数能够访问到它(如果这个函数定义在调用它的代码块的前面则不用声明) C语言和C++都保留了函数声明这一需求,在声明时都有...
  • C语言的前置函数声明

    千次阅读 2020-02-05 11:09:05
    关于C的函数声明 我们在编写C程序时会发现,有时如果不前置声明函数编译时不能通过的。 举个例子:(这是一个通过自定义函数来实现求一个数三次幂的程序) #include <stdio.h> int main() { double a; ...
  • shell脚本函数声明,调用

    千次阅读 2018-09-20 09:55:18
    1. 函数声明 1.1 函数需要先声明后调用, 声明和调用有顺序要求。 1.2 shell中的函数返回值只能是数字, 返回0表示执行成功, 返回其他类型的值时会报错:numeric argument required 1.3 因函数返回值被限制的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,808,138
精华内容 723,255
关键字:

函数声明