C語言和C++中動態申請記憶體

來源:互聯網
上載者:User

在C語言和C++的動態記憶體的使用方法是不同的,在C語言中要使用動態記憶體要包含一個標頭檔即 #include<malloc.h>
或者是#include<stdlib.h>
然後用C語言的系統函數 void * malloc(usigned
size);來獲得動態分配的記憶體,這個函數參數是需要申請的記憶體的位元組數,返回的是一個申請到的記憶體的首地址,這個返回的記憶體的類型是 void ,所以需要根據需要進行強制類型轉換,例如 int *array; array= (int
*)malloc(sizeof(int)*10);這樣就動態申請到了一個有10個int型變數的記憶體空間了。

   但是在C++中,似乎所使用的語句要簡單一些,包含的標頭檔是#include<iostream.h>
申請記憶體不需要調用函數只要一個關鍵字new即可。例如 int *array; array=new int[10];    注意 int *array=new int(10);
不是申請10個int型的空間,而是申請一個int型的記憶體空間,然後給他賦值為10。當然 如果用 int *a; a=new int;
那麼就是得到了一個能存放int型資料的記憶體空間了。

C和C++動態申請的記憶體在程式退出之前要釋放掉,C語言使用free()函數,C++使用delete關鍵字。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.