1樓:匿名使用者
選項a,錯,new 與delete是用於動態平衡分配與釋放空間的運算子,不是函式
選項b,對,如int *p=new int(5);
選項c,錯,要使用delete釋放空間,系統會統一管理,而不用delete釋放的空間,會造成記憶體洩漏,這種程式用的次數多,會造成記憶體耗盡
選項d,錯,不成功,會返回0。
2樓:匿名使用者
a、new和delete是c++語言中專門用於動態記憶體分配和釋放的函式 。 new和delete不是函式,是操作符
c、當系統記憶體不夠時,會自動**不再使用的記憶體單元,因此程式中不必用delete釋放記憶體空間 。不會**
d 當動態分配記憶體失敗時,系統會立刻崩潰,因此一定要慎用new, 沒有的事
3樓:樂活店小二
c、當系統記憶體不夠時,會自動**不再使用的記憶體單元,因此程式中不必用delete釋放記憶體空間 。 系統有可能給你swap到磁碟上,但是不會幫你**, 系統關機的時候,可以幫你**記憶體的。 或者你程式死掉了,整個程序的記憶體都幫你**了。
求用c++寫一個統計學生成績的程式,要求用動態儲存分配思想完成陣列的定義。
4樓:借我一生秋雨
你是要騙你爸媽是麼?
c++ 怎麼讓陣列動態的分配記憶體來儲存.?
5樓:匿名使用者
首先對於你的問題明確一下:
第一:你是說自己寫一個動態分配的資料麼?如果是那樣的話,你使用c中malloc和realloc,然後使用free釋放,方法一樓已經說過,不多說了;
你也可以使用c++中的new和delete,new和malloc基本差不多,但是new和delete是c++中的,對用類使用的話,new會呼叫類的預設建構函式,delete會呼叫類的解構函式,malloc和free不具上述功能。
第二:如果你說的是動代陣列的話,c++標準庫,也就是stl中有,陣列是vector,連結串列是list
vector和list都是自動增長的,也就是自動分配記憶體的,不用你管,只管使用即可,對於vector和list的實現,是由標準庫的牛人實現的,就如同呼叫c中的abs函式一樣,abs是c標準庫中的函式,實現也是有標準庫的大牛實現的,我們只管使用;對於stl的原理有很多書講解,如果有興趣可以看看相關書籍,比如:《c++ 標準程式庫》、侯捷同學的《stl原始碼剖析》等,如果瞭解標準庫的使用的話,《c++ primer》等很多書籍中也都有講解;
對於vector簡單介紹兩句吧:vector 使用的了c++中的模版機制,定義了一套對應的介面函式進行操作;
例如定義一個放置unsigned int型別的陣列:
#include
typedef std::vector< unsigned int > uintarray;
uintarray m_arraya;
迴圈從陣列最後新增10個元素:
unsigned int untmp, uncount = 0;
for( untmp = 0; untmp < uncount ; untmp++ )
刪除所有元素:
m_array.clear();
還有很多函式,以及iterator。
不知道我回答的是不是你問的,不過希望你以後提問題,描述清楚一些,讓解答人能明確你的問題!
6樓:匿名使用者
1、使用malloc函式,先分配第一維的大小,然後再迴圈分配每一維的大小。
2、例程,分配3行4列二維陣列:
#include
#include
int main()
//初始化
for (i = 0; i < 3; ++i)}//輸出測試
for (i = 0; i < 3; ++i)printf ("\n");
}//釋放動態開闢的空間
for (i = 0; i < 3; ++i)free(a);
return 0;}/*
輸出:0 1 2 3
1 2 3 4
2 3 4 5*/
7樓:融斯力穎慧
假設你的資料時int型的。
int*p
=null;
intn;scanf("%d",&n);p=
malloc(n,
sizeof(int));
//這樣分配了n個int型資料的空間,並且p指向空間首地址排序那個就自己採用一種排序方法吧。操作p可以說是跟操作一個陣列一樣的p[0]就是第一個元素。p[n-1]就是陣列最後一個元素。。
最後呼叫free(p)釋放掉申請的記憶體
8樓:匿名使用者
陣列的大小,c與c++應當都是固定的。
只不過指標可以用malloc和realloc進行擴容。
如int *p=(int *)malloc(10*sizeof(int));
p=(int *)realloc(1000*sizeof(int));
9樓:
c語言中陣列也一樣可以通過動態分配得到
用malloc(個數*sizeof( ))calloc(個數,sizeof( ))都可以
10樓:匿名使用者
int *ary=null, *pa;
int n;
pa=new int [n];
這樣就可以了
11樓:匿名使用者
t;>n;
int **arr = new int*[m];
for(int i=0; i 計算機儲存器分為內寸 硬碟 快取 1.內寸斷電後資料就不見了 2.硬碟斷電也有 3.快取用於硬碟,光碟機,cpu 主要用於緩解上述部件與其他部件通訊的壓力 在計算機中,ram rom都是資料儲存器。ram 是隨機存取儲存器,它的特點是易揮發性,即掉電失憶。rom 通常指固化儲存器 一次寫入,反覆讀取... a試題分析 紙幣是由國家 或地區 發行的 強制使用的價值符號。本身無價值。紙幣的發內行量必須以流通容中所需要的貨幣量為限度。紙幣發行越多,容易發生通貨膨脹,人們生活水平下降。紙幣隨著貨幣執行流通手段的職能過程中而產生的。故bcd項錯誤。本題選a項。點評 本題比較貼近學生的生活,內容比較簡單,只需學生... 日本經濟的特點 1.大力發展海上航運,進口原料,出口工業產品,積極開拓國際市場,從而使本國經濟得到調整發展。日本是世界上經濟發達的資本主義國家。2.日本的主要工業部門有,鋼鐵 汽車 造船 電子 化學和紡織工業。這些工業的產品大量出口,在國際市場上佔有重要地位。日本的最大 物件是美國,其次是亞洲和西歐...下列關於計算機儲存器的說法中,正確的是
下列關於紙幣的正確說法是A紙幣,下列關於紙幣的正確說法是A紙幣是由國家或地區發行的強制使用的價值符號
下列關於日本經濟的正確說法是,下列關於日本經濟的說法正確的是( )A ri本的礦產資源非常豐富B ri本也是農業大國C ri本的產品主