C++(四)函数

C++(四)函数

1. 基础

1.1形式参数

形式参数就像函数内的局部变量,在进入函数时被创建,退出函数时被销毁。

调用函数时,有三种向函数传递参数的方式:
在这里插入图片描述
默认情况下,C++使用传值调用来传递参数。

2. 指针(*),取地址(&),解引用(*),引用(&)

C++提供了两种指针运算符,一种是取地址运算符**&,一种是间接寻址运算符&**。

例1. 指针与取地址

int main() {
    int num = 3;
    int* p = #			// 将变量num的地址取出来,存到指针p中
    printf("%d 的地址是 %p\n", num, p);
    return 0;
}

输出

3 的地址是 0x7ffeefbff3ac

int* p表示指针,&num表示取地址。

例2. 解引用与指针赋值

int main(){
	int num = 7;  
	int* p = #  
	printf("数值%d所在的地址是 %p\n", num, p);  
	printf("指针p所指向的地址为 %p , 该地址上所保存的值为%d\n", p, *p);  
	*p = 100;  
	printf("指针p所指向的地址为 %p , 该地址上所保存的值为%d\n", p, num);  
	return 0;  
}

输出

数值7所在的地址是 0x7ffeefbff3b8
指针p所指向的地址为 0x7ffeefbff3b8 , 该地址上所保存的值为7
指针p所指向的地址为 0x7ffeefbff3b8 , 该地址上所保存的值为100

printf(“指针p所指向的地址为 %p , 该地址上所保存的值为%d\n”, p, *p)中的*为解引用操作符,它返回指针p所指的对象的值。

也可以给指针p赋值,使其指向另外一个地址。(*p实际上为一个左值)

int main(void)  
{  
   int num = 7, another = -5;  
   int *p = #  
   p = &another;  
   printf("%d\n", *p);//此时p指向了another,所以输出了another的值,即-5  
   return 0;  
}  

输出

-5

例3 引用

通俗解释,引用就是起别名

  
int main()  
{  
    int val = 7, val2 = 999;  
    int &refval = val, &refval2 = val2; //引用必须要初始化,使其绑定到一个变量上  
    //修改引用的值将改变其所绑定的变量的值  
    refval = -12;  
    printf("%d %d\n", val, refval);//-12,refval的值和val一样  
      
    //将引用b赋值给引用a将改变引用a所绑定的变量的值,  
    //引用一但初始化(绑定),将始终绑定到同一个特定对象上,无法绑定到另一个对象上  
    refval = refval2;  
    printf("%d %d\n", val, refval);//999  
    return 0;  
}  


输出

-12 -12
999 999

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值