zoukankan      html  css  js  c++  java
  • 存储区

    栈区:int a=3;

    堆区:malloc(255)     (所占内存最大)
    静态区:static float h=1.36;
    常量区 “lanou"
    代码区:void function(){…}
     
    内存地址,从上到下,内存地址越来越小
     
    栈内存分配由高到低(栈底是高位内存,栈顶是低位内存),先进后出
     
    错误使用:
    char *fun()
    {//注意:此处是把常量区的字符串”iphone”拷贝到栈内存中
    char string[]=“iphone”;
    return string;                    //栈内存是不安全的,禁止
    }
     
     
    静态存储区:
    1、只初始化一次
    2、如果初始没给值,默认值为0
    3、只有程序退出才释放(永远存在)
     
    常量区:
    常量占用内存,只读状态,决不可修改
    错误使用:
    char * string=“iPhone”;
    string[0]=‘a’;运行崩溃
     
    堆区:
    malloc
     
    void *malloc(unsigned int size);
    size需要分配的字节数(例:3*sizeof(int))size=总的字节数
     
    void free(void *);
    释放内存,内存释放的标记是标记删除
     
    calloc
    void *calloc(unsigned n,unsigned size);
    分配n个size大小的空间(n*size=总的字节数),并且把该内存上的所有字节清零
     
    realloc
    void *realloc(void *p,unsigned newSize);
    newSize=总的字节数
     
    memset
    void *memset(void *s,int c,size_t n)
     
    从s指向的内存开始初始化n个字节的内容为c(n=总字节数)
     
    memcpy
    void *memcpy(void *dest,const void *source,size_t n)
    从source指向的内存开始拷贝到dest,拷贝n个字节(n=拷贝的总字节数)
     
    int memcmp(const void *buf1,const void *buf2,unsigned int count)
    比较buf1、buf2指向的内存是否相同,比较count个字节(count=比较的总字节数)
     
    堆区与栈区
  • 相关阅读:
    kotlin中值范围
    kotlin中集合
    kotlin数据解构
    Java 8 Lambda 表达式
    kotlin 之内联函数
    kotlin之函数的范围和泛型函数
    kotlin函数的参数和返回值
    kotlin 之单表达式函数
    kotlin使用中辍标记法调用函数
    kotlin之函数的基本用法
  • 原文地址:https://www.cnblogs.com/Alling/p/3971804.html
Copyright © 2011-2022 走看看