#include#include#includeint main() {int size;//size 代表我們要申請多大字節(jié)的空間
char *p;//void*類型的指針不能偏移的,因此不會定義無類型的指針
scanf("%d",&size);//輸入要申請的空間大小
//malloc返回的void*代表無類型的指針
p=(char*)malloc(size);
strcpy(p,"malloc success");
puts(p);
free(p);//釋放申請的空間時,給的地址必須是最初的malloc返回給我們的地址
return 0;
}
char* print_stack(){char c[100]="I am print_stack func";
char *p;
p=c;
puts(p);
return p;
}
int main() {char *p;
p=print_stack(); // 該函數(shù)執(zhí)行完之后棧空間會釋放,釋放的空間給后者使用 導(dǎo)致亂碼
puts(p);
// p=print_malloc();
puts(p); // p接受的是數(shù)組的起始地址
free(p);//只有free時,堆空間倉會釋放
return 0;
}
結(jié)果
I am print_stack func
I am print_stack??
#include#include#includechar* print_stack(){char c[100]="I am print_stack func";
char *p;
p=c;
puts(p);
return p;
}
char *print_malloc(){char *p=(char*) malloc(100); //堆空間在整個進(jìn)程中一直有效,不因?yàn)楹瘮?shù)結(jié)束而消亡
strcpy(p,"I am print malloc func");
puts(p);
return p;
}
int main() {char *p;
p=print_stack();
puts(p);
p=print_malloc();
puts(p);
free(p);//只有free時,堆空間倉會釋放
return 0;
}
I am print_stack func
I am print_stack??
I am print malloc func
I am print malloc func
創(chuàng)新互聯(lián)公司主營臨淄網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,臨淄h5微信小程序定制開發(fā)搭建,臨淄網(wǎng)站營銷推廣歡迎臨淄等地區(qū)企業(yè)咨詢你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前文章:C語言指針與malloc動態(tài)內(nèi)存申請,棧與堆的差異-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://vcdvsql.cn/article36/hoisg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站策劃、手機(jī)網(wǎng)站建設(shè)、云服務(wù)器、建站公司、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容