您的位置:首页 > 编程语言 > C语言/C++

Note_20150814_C++_Function

2015-08-19 09:04 302 查看
11:03

Here I got several function note about c++.

在函数中定义的形参,在未出现函数调用的时候他们并不占用存储单元,只有函数调用的时候,他们才会被分配存储。

将实参的值传递给形参。这样意味着同样的值被传递,形参和实参的存储单元被同时占用着。

return语句返回一个值回去。这个值的数据类型必须和被调用函数的类型保持一致。

函数调用结束后,形参的存储单元会被释放,然而实参的数并未发生变化,因为可以直接看出两者分别处于不同的存储位置。

一个函数可以有,也可以没有return语句,这取决于函数功能需要。一个函数可以有多个return语句,执行到哪个return语句,那句就开始返回值。

调用的函数,必须在当前函数前已经声明,因为程序的执行是从上到下顺序执行的,执行到某一位置需要调用函数,程序只知道之前已经执行的部分。

在定义形参的时候,甚至可以只定义形参类型,省略掉形参名,因为程序只是想知道需要分配多少存储位置给形参。

注意::::::::::

对函数的----定义-----和------声明--------不是一件事。

在调用一个函数时,直接或者间接地调用函数本身,称之为函数的递归调用。C Language的一大特点就是允许递归调用。

注意::::::::::

函数调用和函数嵌套调用。

数组元素和数组名都可以作为函数参数。用数组元素作实参时,向形参变量传递的是数组元素的值,而数组名作函数实参时,向形参(数组名或指针变量)传递的是数组首元素的地址。在编译是把形参数组名处理为一个指针变量,用来接收一个地址。

C语言中实参变量和形参变量之间的数据传递是单向的“值传递”方式。用指针变量作为函数参数时同样要遵循这一规则。不可能通过执行调用函数来改变实参指针变量的值,但是,可以改变实参指针变量所指变量的值。

p = &a[0] <=> p = a

如果指针变量p已指向数组中的一个元素, 则p+1指向同一数组中的下一个元素, p-1指向同一数组中的上一个元素。自加运算,如++p,p++,或者自减运算。

注意,执行p+1的时候并不是将p的值简单的加1,而是加上同一数组元素所占用的字节数。例如,数组元素是float型,每个元素占4个字节,則p+1意味着,使p的值(是地址)加4个字节,以使它指向下一个元素。(p+1)代表的地址实际上是(p+1)x d, d是一个数组元素所占的字节数。 若p=2000, p+1 = 2004.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++