加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C++ 指针与一维数组

发布时间:2020-12-16 09:17:36 所属栏目:百科 来源:网络整理
导读:在 上一章 中,已经谈到 普通指针 ( C风格 ) 的基础概念,现在来介绍一下 数组与指针的联系 比如说我们现在声明一个数组: #include iostream using namespace std; int main(){ int num[ 3 ]; return 0 ;} 这个num在内存中的状态是这样的: ? ?一看一目了然! nu

上一章中,已经谈到普通指针 (C风格) 的基础概念,现在来介绍一下 数组与指针的联系

比如说我们现在声明一个数组:

#include <iostream>
using namespace std;
int main()
{
    int num[3];
    return 0;
}

这个num在内存中的状态是这样的:

?

?一看一目了然! num完全就是指针!

也就是说,数组就是指针 (指针不一定是数组,不懂的看这里)

我们原来输入输出num是这个样子的:

#include <iostream>
using namespace std;
int main()
{
    int num[3];
    for(int i=0;i<3;i++)
        cin>>num[i];
    for(int i=0;i<3;i++)
        cout<<num[i]<< ;
    return 0;
}

现在我们改一下,如果看不懂请看这里:

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int num[3];
 6     for(int i=0;i<3;i++)
 7         cin>>*(num+i);
 8     for(int i=0;i<3;i++)
 9         cout<<*(num+i)<< ;
10     return 0;
11 }

两种方法是等效的,看个人喜好

?我们还可以继续更改,直接以指针的方式出现:

#include <iostream>
using namespace std;
int main()
{
    int *num=new int[3];
    for(int i=0;i<3;i++)
        cin>>*(num+i);
    for(int i=0;i<3;i++)
        cout<<*(num+i)<< ;
    delete[] num;//别忘了释放内存
    num=nullptr;
    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读