C++中动态申请数组

动态申请一维数组

申请使用new,释放使用delete[]

可以通过数组名[下标]和*(数组名+下标)的方式访问数组

int main()
{
    int number = 10;
    int *array = new int[number];
    //数组初始化
    for (int i = 0; i < number; ++i)
    {
        array[i] = i;
    }
    for (int i = 0; i < number; ++i)
    {
        cout << *(array + i) << " ";
    }
    cout << endl;
    //使用完以后记得释放哦
    delete[] array;
    return 0;
}

动态申请二维数组

二维数组的申请需要循环地申请二维数组的行指针。

int main()
{
    int row = 10;
    int column = 10;
    //申请空间
    int **matrix = new int*[row];
    for (int i = 0; i < row; ++i)
    {
        matrix[i] = new int[column];
    }
    //矩阵初始化
    for (int i = 0; i < row; ++i)
    {
        for (int j = 0; j < column; ++j)
        {
            matrix[i][j] = i * 10 + j;
        }
    }
    //矩阵输出
    for (int i = 0; i < row; ++i)
    {
        for (int j = 0; j < column; ++j)
        {
            if (i == 0) cout << ‘0‘;
            cout << matrix[i][j] << ‘ ‘;
        }
        cout << ‘\n‘;
    }
    cout << endl;
    //使用完以后记得释放哦
    for (int i = 0; i < row; ++i)
    {
        delete[] matrix[i];
    }
    delete[] matrix;
    return 0;
}

输出结果:

时间: 2024-12-28 16:22:40

C++中动态申请数组的相关文章

C++中动态申请二维数组

这里主要介绍C++中动态申请二维数组的两种方式,直接给出代码,很容易明白,简单的作为一个笔记. #include <iostream> #include <iomanip> // 输入输出操纵 #include <vector> using namespace std; // 法一:new 方式申请 void dynamicArray() { int rows, cols; cin >> rows >> cols; int **element =

如何在c程序中动态使用数组

C语言不允许对数组的大小作动态定义,不能在程序中临时输入数组大小,这就给编程带来一定的困难. 下面通过一个求平均数和标准差的小程序来展示如何在程序中动态定义数组大小: 1 /*如何在c程序中动态使用数组(calloc函数)*/ 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <math.h> 5 int main(){ 6 int num; //数据个数 7 double sum,ave,s2; //数据和.平

C++中动态申请二维数组并释放方法

C/C++中动态开辟一维.二维数组是非常常用的,以前没记住,做题时怎么也想不起来,现在好好整理一下. C++中有三种方法来动态申请多维数组 (1)C中的malloc/free (2)C++中的new/delete (3)STL容器中的vector 下面逐一介绍: 第一种:malloc/free 1.动态开辟一维数组 [cpp] view plaincopy //动态开辟一维数组 void dynamicCreate1Array() { int m; int i; int *p; printf("

C语言和C++中动态申请内存

在C语言和C++的动态内存的使用方法是不同的,在C语言中要使用动态内存要包含一个头文件即 #include<malloc.h> 或者是#include<stdlib.h> 然后用C语言的系统函数 void * malloc(usigned size);来获得动态分配的内存,这个函数参数是需要申请的内存的字节数,返回的是一个申请到的内存的首地址,这个返回的内存的类型是 void ,所以需要根据需要进行强制类型转换,例如 int *array; array= (int *)malloc

c/c++ 动态申请数组

new和delete运算符用于动态分配和撤销内存的运算符 new使用方法: 1.     开辟单变量地址空间 1)new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a. 2)int *a = new int(5) 作用同上,可是同一时候将整数赋值为5 2.     开辟数组空间 一维: int *a = new int[100];开辟一个大小为100的整型数组空间 二维: int **a =

js的传值,table中tr的遍历,js中动态创建数组

1.这里关键是对页面中的传值,其次是动态的创建一个数组,用来存值 $(val).css("background-color", "rgb(251, 248, 233)");//取消选中var ary;if (crival_number.indexOf(fnumber) > 0) { var fnumbers = crival_number.split(",");//然后做的操作便是从crival_number中去掉相对应的numberary

c中动态使用数组

#include <iostream> #include <fstream> #include<stdlib.h> #define MAXNUM 200 int Isood(int n); using namespace std; int main(void) { int n; cout<<"input n:"; cin>>n; int *p; p=(int *)malloc(n*sizeof(int)); for(int i

C++二维数组动态申请内存

好久没用C++刷题了,今天早上刷了几条题,感觉很陌生了.怪我,大二下实在太颓废了,没啥作为. 今天更新个关于c++二维数组内存申请的问题,当初作为菜鸟初学指针的时候,还是在这方面有点搞不通的.今天用到了,顺便写下来,适当时候给C++初学者用用. -----------C++二维数组动态申请内存-------------- 如果对new和delete不是很了解的话可以到这里来看看,http://www.cnblogs.com/hazir/p/new_and_delete.html 首先,我们一般需

《C语言中动态数组的创建及引用》

C语言中动态数组的创建及引用 动态数组是相对于静态数组而言的,静态数组的长度是预定义好的,在整个程序中,一旦给定了数组大小后就无法改变,,而动态数组则不然,它可以根据程序需要重新指定数组的大小.动态数组的内存空间是由堆动态分配的,通过执行代码为其分配储存空间,只有程序执行到分配语句时,才为其分配储存空间. 对于动态数组,其创建比静态数组更麻烦一些,使用完必须由程序员自己释放,否则将引起内存泄漏,但是其使用非常灵活,能根据程序需要动态分配大小,因此相对于静态数组来说,使用动态数组的自由度更大. 对