1. 程式人生 > >malloc二維陣列的2種方法

malloc二維陣列的2種方法

#include <malloc.h>
#include <stdio.h>
int main()
{
    int **a = malloc(sizeof(int)*3);
    a[0]= malloc(sizeof(int)*2);
    a[1]= malloc(sizeof(int)*2);
    a[2]= malloc(sizeof(int)*2);
    a[0][0] =1;
    a[0][1] =2;
    a[1][0] =3;
    a[1][1] = 4;
    a[2][0] =5;
    a[2][1] = 6;
    printf("%d\t%d\t%d\t%d\t%d\t%d\n",a[0][0],a[0][1],a[1][0],a[1][1],a[2][0],a[2][1]); 
    free(a[0]);
    free(a[1]);
    free(a[2]);
    free(a);
}

#include <malloc.h>
#include <stdio.h>
int main()
{
    int (*a)[2] = malloc(sizeof(int)*3*2);
    a[0][0] =1;
    a[0][1] =2;
    a[1][0] =3;
    a[1][1] = 4;
    a[2][0] =5;
    a[2][1] = 6;
    printf("%d\t%d\t%d\t%d\t%d\t%d\n",a[0][0],a[0][1],a[1][0],a[1][1],a[2][0],a[2][1]); 
    free(a);
}


相關推薦

malloc陣列2方法

#include <malloc.h> #include <stdio.h> int main() { int **a = malloc(sizeof(int)*3); a[0]= malloc(sizeof(int)*2);

JavaScript 一陣列陣列去重方法

1.使用ES6語法 set方法陣列去重:: a=[1,2,3,4,1,2,3,4]; [...new Set(a)]; //[1, 2, 3, 4] 2.一維陣列去重方法 function unique1(array){ var n = []; //一個新的臨時陣列

react-native 在 View標籤中使用map()方法無法處理渲染陣列的處理方法

在使用react-native進行專案開發過程中,遇到了二維陣列的資料,需要在頁面中渲染,但是使用普遍的陣列遍歷方法map(),只對父級陣列進行了處理,沒有處理二維陣列。如果是在使用列表元件,比如FlatList時,不用擔心該問題,在rendeRow(data)函授中可以使用map()進行處理,但是

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

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

malloc動態申請一個陣列的兩方法

方法一:利用二級指標申請 #include <stdio.h> #include <malloc.h> const int num = 2; int main() { int **a = (int**)malloc(num*sizeof(int*)); for (i

Java不規則陣列的雙維度排序第2方法

在Java中Arrays.sort()函式是不能對二維陣列進行排序的。 那麼,我們應該怎麼對Java中的二維陣列進行排序呢?之前在《Java不規則二維陣列的雙維度排序》一文中已經講過一種方法了,現在讓

malloc申請陣列的四方法

方法一: 二級指標 #include<stdio.h> #include<stdlib.h> int main() { int i,j; int row = 4

陣列最大最小值----利用函式呼叫形式(2方法)

(1)利用氣泡排序思想求二維陣列中的最大值 /* 利用函式呼叫形式,傳遞二維陣列名進行函式呼叫 設計求二維陣列中最小值、最大值的函式,在主函式中呼叫 利用氣泡排序思想求二維陣列最大值。 演算法思想:先對各行進行一次氣泡排序,使每行的最後一個數為當前行中最大值, 即二維

2.Java陣列_一陣列陣列的動態初始化與靜態初始化、方法接收/返回/修改陣列、java對陣列的排序/全拷貝/部分拷貝

Java陣列----引用資料型別,必須在使用前先初始化;否則會nullPointerException(執行時異常)。 (引用傳遞:多個棧記憶體指向同一塊堆記憶體) 1.一維陣列初始化 (1)動態初始化(宣告並開闢陣列) 資料型別[] 陣列名稱 = new 資料型別[長度]; 如

陣列的幾定義方法

以m*n舉例: 第一種方法: int **a = new int*[m]; for(int i=0; i < m; i++) a[i] = new int[n]; 第二種方法 int* a = new int[m*n]; a[i*n+j]是第i行第j列元素 第三種方法

山科java實驗3-3編寫一個方法,返回一個double型的陣列陣列中的元素通過解析字串引數獲得。例如,字串引數:“1,2;3,4,5;6,7,8”,對應的陣列為: d[0,0

編寫一個方法,返回一個double型的二維陣列,陣列中的元素通過解析字串引數獲得。例如,字串引數:“1,2;3,4,5;6,7,8”,對應的陣列為:       d[0,0] = 1.0  d[0,1

第六章:三方法輸出陣列元素,陣列的輸出方式

1使用陣列名和下標 #include<iostream> using namespace std; int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; for(int i=0;i<10;i++) cout<&

js陣列定義和初始化的三方法

<script> var allarray=new Array(); var res=""; function loaddata() { for(var i=0;i<3;i++) { var starth=i*200; var strarw=i*200; var

Java陣列的遍歷方法(兩

class printArray { public static void main(String[] args) { int[][] arr = {{1,2,3},{4,5},

c陣列初始化為0的2實現方式

 1 #include <stdio.h>   2 #include <stdlib.h>   3 #include <string.h>   4 int main()   5 {   6     //char a[2][4] ;   7

例項分析用指標訪問陣列的幾方法

之前對陣列的概念一直沒有理解透徹,只覺得陣列名就是個常量指標而已,用法和基本的指標差不多。所以當我嘗試用二級指標去訪問二維陣列時,就經常會出錯。下面就是剛開始寫的一個錯誤的程式: #include

pat乙級1027. 列印沙漏(20)——陣列輸出和直接輸出兩方法實現

1027. 列印沙漏(20)時間限制200 ms記憶體限制65536 kB程式碼長度限制8000 B判題程式Standard作者CHEN, Yue本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印***** *** * *** *

JS定義陣列的三方法

方法一:直接定義並且初始化,這種遇到數量少的情況可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知長度的二維陣列 複製程式碼程式碼如下: var tArray = new A

js 陣列 定義和初始化 三方法

來源:http://hi.baidu.com/tang_guangyao/item/238af7f1f33b0631d6ff8ce7 方法一:直接定義並且初始化,這種遇到數量少的情況可以用 var _TheArray = [["0-1","0-2"],["1-1"

動態建立陣列的兩方法

首先來講解一下什麼是二維陣列。其實二維陣列也可以說是一個一維陣列,只是這個一維陣列比較特別,它的每一個元素都是一個一維陣列。雖然二維陣列在底層是按照一維陣列的儲存方式來儲存的,即存完第一行,緊跟著存第二行,後邊依次儲存剩下的行。但是我們習慣上把它看做矩陣,一般也選擇讓他以矩