zoukankan      html  css  js  c++  java
  • 创建动态数组

    书上这一节一开始还是提供了许多有用的概念:

    1.每个程序在执行时都占用一块可用的内存空间,用于存放动态分配的对象,叫做自由存储区或者堆(这里堆栈的概念就分开来了,由堆和栈两个组成)。

    2.在程序中使用new和delete来实现动态分配和释放。必须显示地释放,否则内存会耗尽。

    这两个概念还算有用,接下来说明了动态数组的定义方法:

    int *pia = new int [10];

    new操作的返回值是指向该数组第一个元素的指针,该数组没有名字,因此只能通过指针对其进行操作。

    看到这里我怎么也不觉得动态体现在哪。

    直到看到下列程序段才明白:

    size_t n =get_size();

    int *p =new int[n];

    要在以往的数组类型变量定义时用int array(get_size());编译器会提示出错,getsize的值在一开始是不知道的,只有在程序运行到一定程度才会知道,所以数组的大小是不确定的,而动态数组的动态就体现在这里。这样定义的数组的存放位置也是跟一般数组的位置是不同的。

     

  • 相关阅读:
    fork 开源项目后如何参与项目
    C51 头文件中的 extern
    windows常用命令
    boost(barrier)
    boost库(条件变量)
    线程间同步的几种方式(了解)
    stl 迭代器(了解)
    std::thread
    同步,异步,阻塞,非阻塞
    std::thread join和detach区别
  • 原文地址:https://www.cnblogs.com/ideawu1001/p/2790955.html
Copyright © 2011-2022 走看看