函数
——函数的库(详见www.cplusplus.com)
简而言之,C语言常见的函数可以将许多常用的操作直接从函数库中引用
那么,在查询网站时,如何学习新的函数呢?
下举例
strlen函数是在头文件<string.h>中的函数--Get string length--字符串长度有关
函数中的参数问题——形参与实参
实参
真实传给函数的参数,叫实参,包括了:常量,变量,表达式,函数等。无论实参是何种类型的量,在进行函数调用时,他们都必须有确定的值,以便传给形参
形参
形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用过程中才实例化(在内存中分配对应的地址——内存单元)(我们可以认为形参实例化相当于一份与实参内容相同的局部变量),所以叫形式参数。形式参数当函数调用完成后就自动销毁了。因此形式参数只在函数中有效。
例如
#include<stdio.h>
void swap(int x, int y)//错误示范,正因为形参会额外分配空间,因此,只交换x与y而不是a与b
//x与a,y与b虽然赋值相同,但地址不同,不是同一个数
{
int tmp=0;
tmp=x;
x=y;
y=tmp;
}
void swap2(int* x,int* y)//于是,用地址的形式,使得形式参数的地址就是实参的地址
{
int tmp=0;
tmp=*x;
*x=*y;
*y=tmp;
}
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("a=%b=%",a,b);//检查a,b的值
swap2(&a,&b);//通过函数交换a与b
printf("a=%b=%",a,b);
}
函数的调用:
传值调用
函数的形参和实参分别占有不同的内存块,对形参的修改不会影响实参。
传址调用
传址调用是把函数外部创建的变量的内存地址传递给函数参数的一种调用函数的方式
这种传参方式可以让函数和函数之外的变量建立起真正的联系,也就是函数内部可以直接操作函数外部的变量。