C/C++函数的基本问题

原创 2016年05月30日 17:47:44

函数三要素:
- 函数定义
- 函数原型
- 函数调用
一、函数定义
函数可以分为两类:
(1)没有返回值的函数

void functionName(parameterList)
{
    statament;
    return:
}

(2)有返回值的参数

typeName functionName(parameterList)
{
    statament;
    return:
}

注意:对于返回值的类型规定:不能是数组,但可以是其他任何类型——整型、浮点型、字符型、指针,甚至可以是结构和对象。但我们可以将数组作为结构或对象组成部分来返回。函数的参数可以使一个或多个,并且类型可以不同。
二、函数调用
函数调用时注意参数的类型和数目匹配、返回值引用等相关问题。在此不再作陈述。
在函数中声明的变量为函数私有,并且在被调用时,计算机为这些变量分配内存,在函数结束时,计算机释放这些变量使用的内存。

三、函数原型
所谓的函数原型即函数声明,格式如下:

typeName functionName( type parameter1,type parameter2..);

这里我们需要注意的是后面的“;”不能省略,因为函数原型是一个语句,所以必须加分号。
这里我们来思考一个问题:为什么需要函数原型??
- 原型描述了函数到编译器的接口,也就是说将函数的返回值类型以及参数的类型和个数告诉编译器,因此编译器知道如何解释这个函数。
- 提高程序运行效率。编译器在搜索文件时会停止对main()函数的的编译,如果不提供原型,编译器就需要花费大量的时间在文件中查找,从而降低了运行效率。
- 避免使用原型的方法是:在使用它之前定义它。
具体来书函数原型保证以下几点:
- 编译器正确处理返回值
- 编译器检查使用的参数类型是否正确
- 编译器检查使用参数的个数是否正确

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[C\C++]基本问题1——C++中struct和class的区别

转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.html C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据...

c学习的基本问题-4:关于struct,union,enum

struct的定义:struct  结构标签{      类型1 标识符1;      类型2 标识符2;      类型3 标识符3;&#...

c学习的基本问题-3 指针解析- typedef

指针声明解析0.const char * char_p; char const * char_p;解析:  指针所指的对象是只读的,但是指针是可以修改的。1.char * const char_p;...

c嵌入式程序员应知道的几个基本问题

转载的,地址忘了。 想成为嵌入式程序员应知道的几个基本问题   C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带...

c学习的基本问题-1

对无符号类型的建议:sizeof()返回的类型是无符号类型,在处理数组下标时需要注意尽量不要再代码中使用无符号数尽量使用像int的有符号类型只有使用位段和二进制掩码时,才使用无符号数应该在表达式中使用...

c学习的基本问题-2

char * localized_time(const char * file_name) { struct tm * tm_ptr; struct stat stat_block; char...

实习季C++基本问题汇总

又到了校招实习季的到来,看了好多人的经验才发现平时用的C++好像都白用了,总结一些问题,这半个月把坑都要填上。 1. C++中虚函数的作用? 2.C中的struct和C++中class的异同? 3.快...

一些c++基本问题

1. String问题 #include … std::out   或者 #include using namespace std; cout 在程序中加入using n...

基本问题——C++中struct和class的区别

有很多人在学习C++的时候只是了解了C++的语法,或者更高层次的人是理解了oo,但在这样的学习过程中,往往一些最基本的问题反而被忽略了。当然,这些问题或许在你做工程中,不会有太大的影响,只要按照平时一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)