内存分配

1.内存分5个区:栈区,堆区,静态区,常量区,代码区
  栈   先进后出        
   栈底内存比栈顶内存高
   char *fun()  {    // 注意此处是把常量区的字符串 “iphone” 拷贝到栈内存中。     char string[] = “iphone”;    return string; // 栈内存返回是不安全的,禁止!!!!
  }  


2.静态区
1)只初始化一次2)如果初始没给值,默认值为零3)只用程序退出才释放(永远存在)
将变量定义的类型前加static  则该变量存储在静态存储区
3.    void * calloc( unsigned n, unsigned size);
  分配 n size ⼤大⼩小的空间 , 并且把该内存上的所有字节清零。
4.     void *realloc( void *p, unsigned newSize);
        按给定的地址以及给定的⼤大⼩小重新分配
5.     void * memset ( void *s , int c , size_t n)
        s 指向的内存开始初始化 n 个字节的内容为 c
6.    void * memcpy ( void *dest, const void *source , size_t n)
        source 指向的内存开始拷⻉贝到 dest, 拷⻉贝 n 个字节
7.     int memcmp( const void *buf1, const void *buf2, unsigned int count)
        ⽐比较 buf1 buf2 指向的内存是否相同 , ⽐比较 count 个字节
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值