C语言之malloc和free总结
生活随笔
收集整理的這篇文章主要介紹了
C语言之malloc和free总结
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、內(nèi)存分配和函數(shù)介紹
內(nèi)存分配:指在程序執(zhí)行的過(guò)程空間中或者回收存儲(chǔ)空間 ,內(nèi)存分配分為靜態(tài)內(nèi)存分配和動(dòng)態(tài)內(nèi)存分配 ,要實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存分配,就需要有執(zhí)行這個(gè)操作的對(duì)象。C語(yǔ)言提供的兩個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù):malloc和free。1)malloc函數(shù)
原型:void *malloc(size_t size);簡(jiǎn)介:該函數(shù)在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一塊長(zhǎng)度為size字節(jié)的連續(xù)區(qū)域;如果分配成功,則函數(shù)的返回值為該區(qū)域的首地址;如果分配失敗,則返回空指針值NULL。
2)free函數(shù)
原型:void free(void *ptr);簡(jiǎn)介:該函數(shù)將之前用malloc開辟的內(nèi)存空間釋放掉,無(wú)返回值。
2、舉例子分析什么時(shí)候需要分配動(dòng)態(tài)內(nèi)存
1)不分配內(nèi)存
#include <stdio.h> #include <string.h> #include <stdlib.h>int main() {char ss[30] = "hello I am chenyu";printf("char ss sizeof is %d\n",(int) sizeof(ss));printf("char ss strlen is %d\n", strlen(ss));char *p = NULL;memset(p, 0, 50);printf("*p content is %s\n", p); } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的C语言之malloc和free总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mac之自己摸索的常用快捷键总结
- 下一篇: unix网络编程之UNIX Domain