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.如果是使用信用卡支付,所需要的付款是否允許用信用卡付款,因為有的付款...