C++中,数组名不是一个简单地指针常量
来源:互联网 发布:免费画图软件 编辑:程序博客网 时间:2024/05/14 12:06
#include <iostream>
using namespace std;
int main()
{
int a[2]={1,2};
int*const p=a;
int*const* pp=&p;//合法
// int*const* ppp=&a;//非法
return 0;
using namespace std;
int main()
{
int a[2]={1,2};
int*const p=a;
int*const* pp=&p;//合法
// int*const* ppp=&a;//非法
return 0;
}
对于非法部分编译器是这样解释的:
cannot convert from 'int (*)[2]' to 'int *const * '
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
根据提示转换如下:
#include <iostream>
using namespace std;
int main()
{
int a[2]={1,2};
int*const p=a;
int*const* pp=&p;//合法
int* ppp=(int*)&a;//合法
cout<<*ppp<<endl;
return 0;
}
另外如果作如下修改,运行就会出错,如此可以看出,数组名所占用的控件无法访问
#include <iostream>
using namespace std;
int main()
{
int a[2]={1,2};
int*const p=a;
int*const* pp=&p;//合法
int** ppp=(int**)&a;//合法
cout<<**ppp<<endl;
return 0;
}
0 0
- C++中,数组名不是一个简单地指针常量
- 数组名是一个指针常量吗?
- 数组名是一个指针常量吗?
- c++数组名是一个指针常量
- C中的概念 指针常量 常量指针 数组名
- 【C语言提高16】数组中括号与指针关系和数组名常量指针分析
- 数组名不是指针
- 数组名不是指针
- 第二章数组名是一个指针常量吗?
- 第二章 数组名是一个指针常量吗?
- 第二章 数组名是一个指针常量吗?
- 第二章数组名是一个指针常量吗?
- 数组名是指针常量
- 数组名不是指针,那个老师说数组名就是一个指针
- 数组与指针的艺术 第二章 数组名是一个指针常量吗?
- c语言中指针与数组名
- 数组中括号与指针关系、数组名常量指针分析
- 数组名可作为指针常量
- 深入浅出jsonp
- ubuntu+qt 安装
- 从零单排c++ primer(7)
- python 学习日志(2)
- temp: 二叉树创建小知识
- C++中,数组名不是一个简单地指针常量
- Jquery mobile 总结
- C语言程序设计
- 手机阅读行业SWOT分析
- 提升基于英特尔®架构的 Android* 模拟器的速度
- Linux路由表的抽象扩展应用于nf_conntrack
- 加密与解密7
- Precision和Recall
- 【P000-006】 指标数据模块——抽象