• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
heremei
博客园    首页    新随笔    联系   管理    订阅  订阅
【Heremei】 C++ - 语言基础 - 指针与引用的相关说明

数组名就是一个指针,指向该数组的第一个元素。即v指向v[0]。

引用等于把某个变量起一个别名,可以把这个别名传入函数,这样类似于传一个指针,修改该变量都是在修改原变量,而不是一般传参时时复制一个副本修改。返回也是一样。

但引用似乎无法输出访问地址,地址那串16进制数还得用指针。

runoob还写了这三条:

不存在空引用。引用必须连接到一块合法的内存。
一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
引用必须在创建时被初始化。指针可以在任何时间被初始化。

我还看runoob有这条:

另外,C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static变量。

但我自己试了试这样是可行的:

#include<iostream>
using namespace std;
int * fun(){
	int a=18;
	int *par;
	par=&a;
	return par;
}
void prt(int *par){
	cout<<*par;
}
int main(){
	int *t;
	t=fun();
	*t=19;
	prt(t);
	return 0;
}

我是在fun里定义的a,但是不管在主函数还是其他函数都能正常调用/修改。

内容可以为空
posted on 2021-05-27 10:03  heremei  阅读(56)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3