IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++:指针和数组 -> 正文阅读

[C++知识库]C++:指针和数组

在C++语言中,指针和数组由非常紧密的联系,就如即将介绍的,使用数组的时候,编译器一般会将其转换成指针。

通常情况下,使用取地址符来获取指向某个对象的指针,取地址符可以用于任何对象。数组的元素也是对象,对数组使用下标运算符得到该数组指定位置的元素。因此像其他对象一样,对数组的元素使用取地址符就能得到指向该元素的指针:

string nums[]={"one","two","three"};        //数组的元素是string对象
string *p=&nums[0];                         //p指向nums的第一个元素

然而,数组还有一个特性:在很多使用到数组名字的地方,编译器都会自动地将其替换为一个指向数组首元素的指针:
?

string *p2=nums;    //等价于p2=&nums[0]

由上可知,在某些情况下,数组的操作实际上是指针的操作,这一结论有很多隐藏的意思,其中一层意思是当使用数组作为一个auto型变量的初始值时,推断得到的类型是指针而非数组
?

int ia[]={0,1,2,3,4,5,6,7,8,9};    //ia是一个含有10个元素的数组
auto ia2(ia);                      //ia2是一个整型指针,指向ia的第一个元素
ia2=ia;                            //错误:ia2是一个指针,不能用int型变量赋给指针

? ?指针也是迭代器? ? ? ? ? ? ?

vector和string迭代器支持的运算,数组的指针全部支持。例如:允许使用递增运算符将指向数组元素的指针向前移动到下一个位置上:

int arr[]={0,1,2,3,4,5,6,7,8,9};
int *p=arr;        //p指向arr的第一个元素
++p;               //p指向arr[1]

也可以实现输出arr的全部元素:

int *e=&arr[10];        //指向arr尾的下一个位置的指针
for(int *b=arr;b!=e;++b)
    cout<<*b<<endl;     //输出arr的元素
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-03 01:01:01  更:2022-02-03 01:01:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 2:07:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码