C语言中函数和函数体的区别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中函数和函数体的区别是啥?相关的知识,希望对你有一定的参考价值。

C语言中函数和函数体的区别为:传递参数不同、返回值不同、调用不同。

一、传递参数不同

1、函数:函数具有明确的入口传递参数。

2、函数体:函数体没有明确的入口传递参数,内部进行定义和说明。

二、返回值不同

1、函数:函数可以有返回值也可以设为void,不返回返回值。

2、函数体:函数体没有返回值。

三、调用不同

1、函数:由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。

2、函数体:函数体可以调用一个或多个函数,但函数体之间不能互相调用。

参考技术A 第一 简单来说函数就是c语言的模块,一块块的,有较强的独立性,但是可以相互调用。一个c程序就可以是一个函数,里面再包含n个函数,有固定输入和输出格式的子程序,函数具有明确的功能、入口调用参数和返回值。

第二 函数体是用花括号括起来的若干语句,他们完成了一个函数的具体功能。

函数体内的前面是定义和说明部分,后面是语句部分。

函数声明与函数体放在一起组成了函数定义。

举个例子:
main()

printf(“xx”);
printf("xx2");

//函数体是花括号内的所有语句的集合,包括花括号在内
参考技术B 函数体是“ ”中的内容,而函数是整体本回答被提问者采纳

C语言中class和struct的区别是啥?

    struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体。

    struct没有继承,没有封装,要说封装只有初步封装。而class把数据,接口可以以三种类型封装,private,public,protected;还可以继承和派生。

    它们都可以提供自己的接口函数,构造函数。一个类可以由结构继承而来。struct只能叫做数据的集合,外部可以任意访问,但是类就完成了封装,维护了数据安全,这就是面向对象的理念。

    class里可以定义私有成员和保护成员而结构体里所有的成员,均为公用成员

    struct想用来赋初值,它也必须满足很多的约束条件,这些条件实际上就是让struct更体现出一种数据机构而不是类的特性。那为什么在上面仅仅将struct改成class,就不能用了呢?其实问题恰巧是之前所讲的——访问控制!如果将struct改成class的时候,访问控制由public变为private了,那当然就不能用来赋初值了。加上一个public,class也是能用的,和struct毫无区别。

    从上面的区别,可以看出,struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体。

参考技术A

    struct没有继承,没有封装,封装只有初步得封装。而class把数据接口以三种类型封装,private,public,protected,还可以继承和派生。但是它们都可以提供自己接口函数,构造函数。一个类可以由结构继承而来。struct只能叫做数据集合,外部可以任意访问,但是类就完成了封装,维护了数据的安全

    struct的成员默认权限是public,而class的成员默认权限是private

    struct的默认继承方式为public,而class的默认继承为private

    使用上来说没有太大的区别,不过一个是面向对象的语言,使用更加的方便和简洁

    class和struct如果定义了构造函数的话,都不能用大括号进行初始化

    如果没有定义构造函数,struct可以用大括号初始化

    如果没有定义构造函数,且所有成员变量全是public的话,可以用大括号初始化

以上是关于C语言中函数和函数体的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

单片机C语言设计里说的可重入函数是啥?和不可重入函数的区别是啥?

c语言中形参和实参的区别是啥?

c语言里面的结构体是啥意思

windows中dll的"导出函数"是啥?"导入函数"又是啥?和普通的C语言函数有啥区别?

c语言里iostream 和studio 区别是啥

关于C语言中函数修改结构体的值的问题