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++ 笔试、面试题目大汇总(一)

这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。 1.求下面函数的返回值( 微软) int func(...
  • u014744118
  • u014744118
  • 2015年10月08日 14:10
  • 1430

C++派生类函数调用基类的函数

在MFC的程序中,我们经常会看到下面的程序片段,
  • foreverhuylee
  • foreverhuylee
  • 2014年07月17日 15:48
  • 11888

C语言的基本输入与输出函数(全解)

C语言的基本输入与输出函数 1.1.1 格式化输入输出函数   Turbo C2.0 标准库提供了两个控制台格式化输入、 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备...
  • dingding3w
  • dingding3w
  • 2015年06月24日 17:36
  • 13111

【C/C++】指针基本问题

指针基本问题
  • wupenm
  • wupenm
  • 2015年08月29日 19:22
  • 282

C/C++面试题大汇总之 基本问题

c++常见面试题30道 1.new、delete、malloc、free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与...
  • weiyuefei
  • weiyuefei
  • 2015年12月27日 18:49
  • 2885

C/C++的一些基本问题

结构体的定义 typedef struct student { int num; struct student *next; }student; 或者使用 s...
  • zhangweijiqn
  • zhangweijiqn
  • 2013年06月17日 10:09
  • 646

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

转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.html C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据...
  • duhaomin
  • duhaomin
  • 2013年10月09日 14:30
  • 1020

c++faq ,讨论了关于c++的一些基本问题。英文。

  • 2009年07月30日 10:40
  • 18KB
  • 下载

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

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

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

指针声明解析0.const char * char_p; char const * char_p;解析:  指针所指的对象是只读的,但是指针是可以修改的。1.char * const char_p;...
  • zmmmap
  • zmmmap
  • 2011年04月26日 21:29
  • 138
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C/C++函数的基本问题
举报原因:
原因补充:

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