首页 > 代码库 > 指针和引用、值传递和引用传递
指针和引用、值传递和引用传递
1、指针和引用
指针是一个变量,它存储的是内存地址;引用和原来的变量是同一个,对引用修改会改变原变量,而修改指针只是修改了指向的内存
可以有const指针、但是没有const引用;指针可以多级int **p;引用只有1级 int &&p不合法
指针可空,引用必须初始化;指针可以修改,可以指向别的变量;引用不能修改,只能是那个变量的引用
2、值传递和引用传递
值传递,会创建变量的一个临时副本,对它修改不会改变原变量
引用传递,因为引用是原变量的一个别名,对引用修改会改变原值
指针作为函数参数时,本质也是值传递,改变指针没效果,改变*p会修改它指向的变量
3、指针数组和指向数组的指针、指针函数和函数指针
int *p[4];存储指针的数组 int (*p)[4];指向数组首地址的指针
int * f();返回值为指针 int (*p)指向函数地址的指针
4、const修饰符
const int *p表示 *p不可修改 int * const p 表示p不可修改
const在*左边,修饰*p, 在右边修饰p
指针和引用、值传递和引用传递
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。