c++动态内存空间示例(自定义空间类型大小和空间长度)

 更新时间:2014年04月30日 10:16:09   作者:  
这篇文章主要介绍了c++动态内存空间示例,自定义空间类型大小和空间长度,需要的朋友可以参考下

动态内存空间的申请示范

利用C++的特性,能够自定义空间的类型大小和空间长度

下面这个程序是个数组动态配置的简单示例

复制代码 代码如下:

#include <iostream>
using namespace std;

int main()
{   int size = 0;

    cout << "请输入数组长度:";  //能够自定义的动态申请空间长度
    cin >> size;
    int *arr_Point = new int[size];

    cout << "指定元素值:" << endl;
    for(int i = 0; i < size; i++)
    {   cout << "arr[" << i << "] = ";
        cin >> *(arr_Point+i);
    }

    cout << "显示元素值:" << endl;
    for(int i = 0; i < size; i++)
    {   cout << "arr[" << i << "] = " << *(arr_Point+i)
             << endl;
    }

    delete [] arr_Point;

    return 0;
}

执行结果:

复制代码 代码如下:

请输入数组长度:5
指定元素值:
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
显示元素值:
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5

可以使用指针来仿真二维数组,只要清楚二维数组中的两个维度的索引值之位移量就可以

复制代码 代码如下:

#include <iostream>
using namespace std;

int main()
{   int m = 0;
    int n = 0;

    cout << "输入二维数组维度:";
    cin >> m >> n;

    int *ptr = new int[m*n];

    for(int i = 0; i < m; i++)
    {   for(int j = 0; j < n; j++)
        {   *(ptr + n*i + j) = i+j;
        }
    }

    for(int i = 0; i < m; i++)
    {   for(int j = 0; j < n; j++)
        {   cout << *(ptr+n*i+j) << "\t";
        }
        cout << endl;
    }

    delete [] ptr;

    return 0;
}

相关文章

  • C++虚继承原理与类布局深度分析

    C++虚继承原理与类布局深度分析

    这篇文章主要介绍了C++虚继承原理与类布局分析,本文的目标是探究虚继承的实现方式和类布局(Class Layout)的具体规则,需要的朋友可以参考下
    2024-04-04
  • C++实现企业职工工资管理系统

    C++实现企业职工工资管理系统

    这篇文章主要为大家详细介绍了C++实现企业职工工资管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Linux下编译C程序的过程

    Linux下编译C程序的过程

    我们总是在Linux下输入 gcc -o app main.c 即可编译好程序,对于具体的详细过程及流程,相信亲们就不太了解啦!下面给大家展示一下C编译器的解释全过程。
    2016-01-01
  • QT编写地图实现在线轮廓图的示例代码

    QT编写地图实现在线轮廓图的示例代码

    轮廓图也叫行政区划,这里的轮廓图是指百度地图的区域轮廓图。本文将为大家介绍QT如何实现在线轮廓图的编写,感兴趣的小伙伴可以跟随小编一起学习一下
    2021-12-12
  • 不要被C++(自动生成规则)所蒙骗

    不要被C++(自动生成规则)所蒙骗

    正如标题所说,我们不要被C++语法中所描述的那些条条框框所“蒙骗”了。的确,相信这些生成规则不会对我们的编程带来多大的影响(不会产生错误),但是只有了解它们的背后操作,我们才知道编译器究竟为我们做了什么,感兴趣的朋友可以了解下,希望本文对你有所帮助
    2013-01-01
  • 统计C语言二叉树中叶子结点个数

    统计C语言二叉树中叶子结点个数

    这篇文章主要介绍的是统计C语言二叉树中叶子结点个数,文章以C语言二叉树中叶子结点为基础分享一个简单小栗子讲解,具有一定的知识参考价值,需要的小伙伴可以参考一下
    2022-02-02
  • Qt串口通信开发之QSerialPort模块详细使用方法与实例

    Qt串口通信开发之QSerialPort模块详细使用方法与实例

    这篇文章主要介绍了Qt串口通信开发之QSerialPort模块详细使用方法与实例,需要的朋友可以参考下
    2020-03-03
  • Qt实现苹果状态切换按钮

    Qt实现苹果状态切换按钮

    这篇文章主要为大家详细介绍了Qt实现苹果状态切换按钮,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • Opencv使用鼠标任意形状的抠图

    Opencv使用鼠标任意形状的抠图

    这篇文章主要为大家详细介绍了Opencv使用鼠标任意形状的抠图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • C语言实例讲解嵌套语句的用法

    C语言实例讲解嵌套语句的用法

    所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里 面还有 while,或者 for 里面有 while,while 里面有 if-else,这都是允许的
    2022-05-05

最新评论