1. 程式人生 > >malloc與new方法動態建立陣列並釋放

malloc與new方法動態建立陣列並釋放

#include<iostream>
using namespace std;
int main(){
//動態建立釋放一維陣列(new)
int *a;//基地址
int n=10;//陣列大小
a=new int[n];//建立
    delete[] a;//釋放
//動態建立釋放二維陣列(new)
int **b;
int m=10;n=10;
b=new int*[m];
for(int i=0;i<m;i++)
b[i]=new int[n];
for(i=0;i<m;i++)
delete[] b[i];
delete[] b;
//動態建立釋放三維陣列(new)
int ***c;
i=10;int j=10,k=10;
c=new int**[i];
for(n=0;n<i;n++)
{
c[n]=new int*[j];
for(m=0;m<j;m++)
c[n][m]=new int[k];
}
for(m=0;m<i;m++)
{
for(n=0;n<j;n++)
delete[] c[m][n];
delete[] c[m];
}
delete[] c;

//動態建立釋放一維陣列(malloc)
int*d;
int z=10;
d=(int*)malloc(z*sizeof(int));
free(d);
//動態建立釋放二維陣列(malloc)
   int**e;
int y=10;
e=(int**)malloc(z*sizeof(int*));
for(int q=0;q<z;q++)
e[q]=(int*)malloc(y*sizeof(int));
for( q=0;q<z;q++)
free(e[q]);
free(e);
//動態建立釋放三維陣列(malloc)
int ***r;
r=(int***)malloc(sizeof(int**)*10);
for(q=0;q<10;q++){
r[q]=(int**)malloc(9*sizeof(int*));
for(int p=0;p<9;p++)
r[q][p]=(int*)malloc(8*sizeof(int));
}
for(q=0;q<10;q++){
for(int p=0;p<9;p++)
free(r[q][p]);
free(r[q]);
}
free(r);
return 0;
}

相關推薦

mallocnew方法動態建立陣列釋放

#include<iostream> using namespace std; int main(){//動態建立釋放一維陣列(new)int *a;//基地址int n=10;//陣列大小a=new int[n];//建立     delete[] a;//釋

JavaScript的concat() 方法-建立陣列,陣列連線

方法解釋: 1.concat() 方法用於連線兩個或多個數組。 2.該方法不會改變現有的陣列,而僅僅會返回被連線陣列的一個副本 程式碼: <html> <body> <script type="text/javascript"> var arr =

前端動態建立表格獲取表格的所有內容為陣列

var arr=[]; //添加藥品 $("#btn1").click(function (){ if($("#name").val()=="" ||$("#num").val()=="" || $("#spec").val()=="

C++中動態申請二維陣列釋放方法

 C/C++中動態開闢一維、二維陣列是非常常用的,以前沒記住,做題時怎麼也想不起來,現在好好整理一下。  C++中有三種方法來動態申請多維陣列   (1)C中的malloc/free   (2)C++

mallocnew相關

初始化 空字符 原理 支持 oca 容器 pan 新的 set   malloc函數:malloc的全稱是memory allocation,中文叫動態內存分配。作用是向系統申請分配指定size個字節的內存空間,函數原型為: extern void *malloc(uns

java 宣告和動態建立陣列

                昨天在寫程式碼時候需要動態建立一組,竟然一時想不起來,該如何建立,查了一些資料,記錄下來,提醒自己

通過slicecall方法實現真偽陣列切換

最近在研究JQuery程式碼,發現JQuery實現真偽陣列的程式碼十分巧妙; 偽陣列轉為真陣列的實現程式碼比較簡單,如下: let obj={}; let arr=[1,2,3,4,4,5]; //通過[].push找到陣列中push方法 //通過apply修

輸入一個數組長度,動態建立陣列,所有元素隨機生成,輸出元素中的最大值

int length = 0;         printf("輸入一個數組長度:");         scanf("%d", &length);         int *p = malloc(sizeof(int) * length);         for

前臺JS獲取後臺的Json資料, 動態建立table填充資料

原文:http://wkf41068.iteye.com/blog/1188302 mark一下,這個月要用的東西。主要是資料格式要好好看一下,之前發資料的時候就出現過資料型別不匹配導致post失敗 <!-- 測試點選“檢視流程記錄 ”時激發的JS -->

android後臺動態建立圖片實現微信分享

今天就記錄一下。 先說明一下,之前沒有做過類似的東西,百度了一兩天才知道,說來很慚愧、有點笨,只能這樣說。 在我的腦裡只明白,如果要動態建立圖片: 一、就是new 嘛 二、就是LayoutInflater.from()這種。 而微信分享圖片到朋友圈,這種不可能new text

動態建立陣列

      在很多情況下,我們不知道所要建立陣列的大小,而是想根據需求動態的建立陣列。但是通常使用 int arr[n] 這樣的寫法編譯器會報錯,因為n是變數。例如以下程式碼 int n = 10; int a[n]; 對於這種情況我們可以用以下的方法解決。

C語言動態建立陣列

通過使用指標以及malloc函式來分配地址空間 #include<stdio.h> #include<malloc.h> void array(unsigned int

DF-GUI動態建立按鈕關聯事件

在官網程式碼基礎上增加,通過委託關聯按鈕處理程式碼: using UnityEngine; using System.Collections; using System.Collections.Generic; [AddComponentMenu( "Daikon Fo

Java反射三 動態建立陣列

package fanshe; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.Method; public class Mymain {

JdbcTemplate 動態建立新增資料

之前寫了一個 使用JDBC查詢是否存在某表或檢視,按月動態生成表 ,但是他並不能進行公用,使用時需要每個人都寫自己的處理程式碼,為了方便使用,我寫了一個公共的處理方法,僅供參考。 為了考慮大家專案的整合,獲得JdbcTemplate我採用Spring配置,也為了方便大

Android SDK下載安裝方法建立AVD、安裝ADT

Android SDK下載與安裝方法:http://www.androiddevtools.cn/解壓壓縮包後開啟SDK Manager.exe。下載如圖:若在下載過程中出現連線不上URL問題:通過有Android SDK的國內映象伺服器下載:Extras檔案單獨下載:最好都

angular學習總結十——動態建立元件實現互動一

ps:看了好多篇動態元件的部落格,坑啊,只是放進去一個靜態元件,並未加上Input,Output appModule import { BrowserModule } from '@angular/platform-browser'; import

使用 JdbcTemplate 動態建立新增資料 動態連表查詢

我寫了這樣一個公共方法,僅供參考! 這裡需要傳遞兩個時間間隔引數,根據時間間隔判斷相差的月數,然後從起始時間開始遞增月份,然後動態拼裝表的名稱,如果存在該表則標記需要查詢 所有的SQL通過 union all 來連線,最後增加分頁的引數,分頁只適合MySQL資料庫 當然這個示例也只是適合於按月份來儲存

聊聊多執行緒那一些事兒 之 四 經典應用(取舍、動態建立

   hello task,咱們又見面啦!!前面已經通過三篇簡單的文章,對多執行緒的建立、執行、阻塞、等待、取消、延遲操作、非同步方法等相關的知識點,通過這一些介紹,現在上手寫一個多執行緒就是分分鐘的小事件。如果需要看前三排文章的小夥伴,可以點選下面連結快速閱讀謝謝!   &nb

uniGUI動態建立Form及釋放

img showmodal .sh style height new gif cal tun uniGUI動態建立Form及釋放 (2015-10-01 14:51:12) 轉載▼ 分類: uniGUI 用uniGUI開發的項目中,難免要遇到動態