為什麼記憶體總是申請失敗c c

2023-05-21 07:25:04 字數 3193 閱讀 7789

1樓:仙戈雅

#include

#include

#include

struct student

struct student *xinjian(struct student *head);

main()

printf("該連結串列有%d個節點。",i);

return 0;

struct student *xinjian(struct student *head) /注意你的函式需要返回指標值,不要為void應為struct student

if(head=null)

elsepr->next=p;

printf("請在節點內輸入資料:")

scanf("%d",&data);

p->id=data;

p->next=null;

return head;

2樓:匿名使用者

if(p==null);這裡多了乙個分號,所以出錯了。

另外還有其他錯誤:

if(head=null)

if裡面的=應該是==才對。

3樓:喲呵虎虎虎虎

if(p==null);

後面多了個分號,真是整人呀。

c++中要用new申請乙個動態記憶體,如何才能申請不成功,急用

4樓:匿名使用者

目前的情況下 new申請空間一般不會失敗,那個錯誤處理也是為了以防萬一用的 要麼你就在try塊裡自己扔出乙個異常來模擬一下。

5樓:匿名使用者

如果你申請的記憶體超大就不能成功了。

c 中要用new申請乙個動態記憶體,如何才能申請不成功,急用

6樓:匿名使用者

你是不是想做一些異常測試,直接模擬申請失敗就可以了,申請失敗的結果就是指標為空,直接將指標賦空即可。

7樓:召走刀文

申請不到一塊連續的記憶體就失敗了。

#include

void main()

printf("fail");

system("pause");

8樓:匿名使用者

這個。。。寫錯試試,應該可以申請不成功!

再個new不是c語言的關鍵字,new是c++中的運算子,c語言應該用malloc/calloc函式申請動態記憶體,free函式釋放。

9樓:匿名使用者

申請內在太大,超過系統限制。申請記憶體為負。

c語言,用malloc為結構指標申請記憶體失敗

10樓:網友

這個看不到**沒法說啊。

一般malloc失敗要麼是分配的記憶體太大(這個一般不會發生其實……)要麼是malloc過於頻繁導致沒有復合大小的連續區域(只是連結串列struct的話應該也不至於)

再有麼要麼就是malloc前後的操作中有越界?

11樓:匿名使用者

把**貼上來看看,還是有哪塊寫得不對。

c/c++程式設計問題,用棧方法實現記憶體的申請和釋放?

12樓:網友

動態的記憶體是從heap,也就是堆裡分配,需要程式裡顯式釋放。

stack(棧)裡的記憶體是自動分配釋放的。

你的問題太籠統,把要求寫的具體一些。

13樓:匿名使用者

你可以在函式建構函式裡面使用關鍵字new分配記憶體,並且在析構函式的時候使用delete關鍵字。

14樓:

每申請乙個就入堆疊,堆疊內的記憶體不釋放。

需要使用的時候,從堆疊pop,使用完畢,看一下能否歸還,如果能歸還,則入棧,否則釋放掉。

15樓:匿名使用者

題目有點不太明白。

g_freebuf 為乙個記憶體塊陣列,也就是你要用的棧,g_top記錄了棧頂位置。

byte *memget() 記憶體申請。

void memfree(byte *p) /記憶體釋放。

16樓:匿名使用者

分配記憶體:

在棧記憶體中存放了乙個指向一塊堆記憶體的指標p。程式會先確定在堆中分配記憶體的大小,然後呼叫 operator new分配記憶體,然後返回這塊記憶體的首位址,放入棧中。

int a = 0; /全域性初始化區。

char *p1; /全域性未初始化區。

int main()

程式結束後會自動釋放。

17樓:小小de煙圈

先知道概念,c++動態生成的空間都是在棧中,例如 int *a = new int; 分配乙個int型的空間,位址值賦給a,這個空間是動態生成,所以是棧空間,還有區域性變數也是;

靜態的空間是堆,例如全域性變數。

int a;//全域性變數。

int fun()

int main()

總之,當程式中函式執行完就釋放的空間是棧,區域性變數;當程式執行完再釋放的空間是堆,全域性的。

18樓:恐怖的肖恩

出現這種狀況多出在硬體上,你判斷的還是對的,我以前遇到過這種情況,最後是檢查主機板,結果主機板的幾個電容壞掉了,換幾個就好了,很便宜。診斷卡不能查出宕機的原因,只能查出有問題的硬體,希望可以幫到你。

19樓:五五開

哦那不是呼叫malloc和free()嗎你如果 要例題 追加 我給你。

20樓:匿名使用者

親,《演算法導論》或者《計算機演算法設計與分析》裡有完整詳細的敘述!!

c++中在申請記憶體空間後是否應該立即檢查是否為空

21樓:小鑫聊兩性

按理來講是需要判斷申請的記憶體是否null

但是在c++中如果申請記憶體失敗的話預設不是返回nullc++預設是在申請記憶體失敗後丟擲std::bad_alloc異常 檢查是否返回null是無效的。

如果需要使其支援在申請記憶體失敗後返回null 需要使用 nothrow

int *buf = new (std::nothrow) int[1234];

if(null ==buf)

為什麼我戀愛總是失敗,為什麼我的戀愛總是失敗!

男女之間的感情都是由兩部分組成的,一部分吸引,一部分排斥 歸根結底就乙個原因 吸引力不夠了!在你看來喜歡和愛是什麼區別?所以要有耐心,只要有恆心,我想你會成功的,呵呵,祝你好運 我想你肯定不是貞的喜歡那女的,要不然你肯定會有耐性的 哈哈 耐性 你那麼性急,我是女都怕了你 為什麼我的戀愛總是失敗!男女...

談戀愛總失敗怎麼辦,為什麼戀愛總是失敗呢?

遇到喜歡的,總喜歡通過表白來確認關係 得到的結果一般都是拒絕 我要做什麼,ta才喜歡我?我一直沒有反思此問題,一直再重複這個錯誤。如果你一直這樣,很難有長進。真正懂得吸引異性的人的溝通方式 遇到喜歡的,先通過溝通交流了解對方情況和需求 不刻意的展示自身價值,通過言談舉止,自如的表達自己,能主動給別人...

網銀付款為什麼總是提示交易處理失敗

網銀付款總是提示交易處理失敗的原因如下 1.需開通了網銀付款功能,一般這需要到銀行櫃檯籤乙個檔案,留下你的證件影印件 等,然後才可開通,網上自助開通一般只能查詢或小額支付 例如,可以買火車票 2.檢視一下銀行卡餘額是否足夠支付 3.如果是使用信用卡支付,所需要的付款是否允許用信用卡付款,因為有的付款...