函数的基本知识

Posted 雪傲天1

tags:

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

函数的指针参数

两种参数传递的方法:一种值传递,一种是地址传递,值传递形参改变不改变实参的值,形参所占的内存空间和实参不一样。

int swap(int nuum1,int num2)

    num1^=num2;
    num2*=num1;
    num1^=num2;

int main()

    int a=10;int b=20;
    swap(a,b);
a10

b             

20
int num110
int num220

所以值传递时并不会改变形参,但是指针传递时,传入的是地址,所以会改变实参

int swap(int *p1,int *p2)

    (*p1)^=(*p2);
    (*p2)*=(*p1);
    (*p1)^=(*p2);

int main()

    int a=10;int b=20;
    swap(&a,&b);
a10 0x0001

b             

20 0x0002
int *p10x0001
int *p20x0002

这里*p1相当于*0x0001,就是取a的地址,所以直接修改了实参的值

函数的数组参数

像这种,如果想要传递数组进去,不能 传递a[3]这种方式

int add(int a[3])

    std::cout<<sizeof(a[3]);
    return 0;

int main()

    int a[3] 1,2,3;
    add(a[3]);

因为不知道要数组的元素个数,可能是2个,也可能是3个所以推荐用下面这种方法。另外,如果传入a【3】,编译器不会知道这是数组还是指针类型,因为a【3】实际上一个指针,另外假如,假如不把数组当成指针,那么不同长度的数组就是不同的类型,a【2】和a【3】类型都不同,如果把a[3]作为形参,传入不同长度的数组都需要不同的函数

数组有一种声明方式是不写下标,由编译器判断数组的容量大小

int a[]  1,2,3;

所以数组的参数传递可以这样写,count表示数组元素个数

add(int a[],unsigned count)

当然,也可以用指针方式来传递,因为数组本身就是指针

多维数组的参数传递

必须指定低维的数组元素个数

add(int a[][2],unsigned count);
int main()

    a[2][2] 1,2,2,3;
    add(a,2);

因为多维数组是以低维为步径,如果低维也用变量,就无法确定步径。

函数的引用参数

引用做函数参数时必须初始化,所有有时候用指针还是用引用做参数可以从这方面考虑

指针的引用,形参指针引用可以修改实参指针的指向,即指针的引用可以修改指针,原理非常简单

引用参数类型必须一样

void swap(int& a)

	a = 200;

int main()

	float p 100 ;
	swap(p);
	std::cout << p;

这个程序就是错误的,必须让p为int类型才可以,因为别名类型必须和原名类型相同

基本初等函数图像

基本初等函数包括:常函数幂函数指数函数对数函数三角函数反三角函数

初等函数:初等函数(基本函数)是由常函数幂函数指数函数对数函数三角函数反三角函数经过有限次的有理运算(、有限次乘方、有限次开方)及有限次函数复合所产生、并且在定义域上能用一个方程式表示的函数

基本的初等函数就像ABCD等字母,经过组合变化形成初等函数如英语句子:“Hello, English World”。按照一般的教育对三角函数和反三角函数的讲解会很薄弱。个人做笔记喜欢从困难的问题开始。

三角函数相关

tanx 相关

技术图片

(y=tan(x)的图像)

(tanx在区间[-frac{pi}{2},frac{pi}{2} ]上单调增,周期为=pi)

(y'=sec^2(x)的图像)

极小值是1

cotx相关

技术图片
(y=cotx)
(y'=-csc^2(x))

secx相关

(y=secx)
技术图片
(y'=secx cdot tanx)
技术图片

cscx相关

(y=cscx)

技术图片

$y‘=-cscx cdot cotx $
技术图片

反三角函数

arcsinx相关

(y=arcsinx)
技术图片
$
y‘=frac{1}{ sqrt(1-x^2)}$
技术图片

arccosx相关

(y=arccox)
技术图片
$
y‘=-frac{1}{ sqrt(1-x^2)}$
技术图片

arctanx相关

(y=arctanx)
技术图片

(y'=frac{1}{1+x^2})
技术图片

arccotx相关

(y=arccotx)
技术图片

(y'=-frac{1}{1+x^2})
技术图片

以上是关于函数的基本知识的主要内容,如果未能解决你的问题,请参考以下文章

C语言总结_函数知识

C语言总结_函数知识

C语言知识:函数详解(变量的作用域,全局变量,静态变量)

C程序的基本组成单位是

C语言库函数里有线性表基本操作函数吗?

C/C++杂记:虚函数的实现的基本原理