close

摩爾達維亞語翻譯

那假設要宣佈一個二維陣列呢?

 

 

malloc()這個函式是在 stdlib.h 裡面提供的

其宣佈的型態是

以後利用的方式就跟一般陣列一樣

 

void * realloc ( void * ptr, size_t size );

而要怎麼調劑已宣佈的記憶體的巨細呢~?

 

(假定要宣佈一個 m x n 的陣列)

所以型態是 void *

 

ptr若是null,其功能就猶如malloc()

以下為realloc的典範

Size of the memory block翻譯社 in bytes.

 

int **a,*b;
int m,n;
a=(int**)malloc(m*sizeof(int*)) ;
b=(int*)malloc(m*n*sizeof(int));
for(i=0;i<m;i++翻譯社b+=n)
a[i]=b;

把ptr裡的工具都複製到新的記憶體位置

malloc()是C說話裡面動態宣佈記憶體位置的函式

以下是他在C library的定義

就需要用到 realloc() 這個函式

  1. NULL,則指向ptr的位置
  2. 非NULL,則指向新宣佈的位置

 

  1. NULL,電腦沒有空間可以借你
  2. 不是NULL,回傳分配好的記憶體位置給你
以下是分配一維陣列的典範
 
int *a;
a=(int*)malloc(m*sizeof(int));
 

其需要一個參數:size

realloc()的回傳有兩種環境

其宣告的型態是 

malloc會回傳兩種結果

 

所以要使用的時候要轉成你要的型態

要釋放記憶體的時辰只需釋放 a 和 a[0] 即可

realloc()的做法是在新的位置宣佈好記憶體位置後

 

然後回傳新的記憶體位置

意即其以BYTES(位元組)為單位

ptr是指向之前已宣佈好的記憶體位置

則 a 為一個 m 巨細的陣列

(假定a為一個已malloc好的陣列,m為想要宣佈的巨細)

 

因為電腦不知道要如何用翻譯公司借來的記憶體

 

void *malloc( size_t size);

a=(int*)realloc(a,sizeof(int)*m);

size則是"調劑以後的記憶體巨細"

 



本文出自: http://cfwei0111.pixnet.net/blog/post/25265983-%e3%80%8e%e7%ad%86%e8%a8%98%e3%80%8fmalloc-%e8%88%87-有關各國語文翻譯公證的問題歡迎諮詢華頓翻譯公司02-77260932
arrow
arrow
    文章標籤
    翻譯社
    全站熱搜
    創作者介紹
    創作者 hortonhm42t5 的頭像
    hortonhm42t5

    hortonhm42t5@outlook.com

    hortonhm42t5 發表在 痞客邦 留言(0) 人氣()