函数,const指针参数,递归,指向函数的指针

库函数是已经定义和编译好的函数,同时可以使用标准库头文件提供其原型(函数声明在头文件中)。

C++函数的返回值不能是数组,但可以是整型,浮点型,指针,结构或者对象等。

按值传递和按地址传递:

int main()
{
	void change(int a, int *p);//函数声明,按值传递和按地址传递
	int x = 1, y = 2;
	change(x, &y);//将x的值复制给a,将y的地址传给p
	cout << x << y;//x=1,y=6
}
void change(int a, int*p)
{
	a = 3;//不会改变x的值
	*p = 6;//会改变y的值
}
传递数组:

int main()
{
	void ar(int a[]);//传递数组指针,还应当传递一个数组长度的参数
	int a[6];
	ar(a);//数组名即为指针
}
void ar(int a[])
{
	cout << a[2];
}
arr[i]==*(ar+i); &arr[i]==ar+i。

const double ar[]表示指针ar指向的是常量数据,不能使用ar来修改该数据。
指向数组中不同元素的指针相减结果为两个指针间元素的个数。

const:const int *p不能通过该指针改变其所指向的值,但可以通过其他指针来改变,或者改变该指针的指向。

int *const p不能改变指针的指向,但可以改变其所指向的值。

const int*const p=&a既不能改变其指向,也不能通过该指针修改其所指向的值,但可以通过其它指针修改。

int main()
{
	int a = 32,b=10;
	const int*p = &a;
	int *point = &a;
	int *const pt = &a;
	*p = 12;//非法
	*point = 20;//合法
	p = &b;//合法
	*p = 13;//非法
	pt = &b;//非法
	*pt = 24;//合法
}
如果变量为const,则指针也要为const。
字符串常量实际上是一段地址。

函数的递归。

函数的指针,如何使指针指向函数:

int main()
{
	double pam(int);
	double(*pf)(int);
	pf = pam;
}
注意:pam的特征标必须和pf相同;estimate(50,pam)。上述代码也可以 auto pf=pam;




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值