C_笔记整理_2

来源:互联网 发布:js除法取整不四舍五入 编辑:程序博客网 时间:2024/06/02 05:32
  1. 程序与进程的区别
    程序:未加载进内存的文件,如硬盘的数据,代码
    进程:已加载进内存,具有生命周期
  2. 内存结构图
名称 特点 存放内容 其他 栈 自动释放 局部变量,函数参数 堆 手动释放 动态内存分配 malloc与free必须成对出现 BBS 未初始化数据区 未初始化的全局变量,未初始化的静态全局变量 如果没有赋值,默认为0 数据区 已初始化数据区 已初始化的全局变量,已初始化的静态全局变量,局部静态变量,常量数据 如果局部静态变量初始化为0,与未初始化默认为0相同,存储在BBS段 代码段 只读 可执行代码,字符串常量 不可修改

3. 堆与栈的比较
堆大栈小
堆分配空间慢,栈分配空间快
4. 数组名代表数组首地址,数组名不占空间
5. 指针与数组
一级指针只能对应一级数组,数组加&变为二维数组
6. char*int*的区别
int*: 不能直接赋值
不能一次性输出
char*: 可以直接赋值
可以一次性输出
第一个字符的地址代表这串字符首地址
7. sizeofstrlen的区别
sizeof:所占空间大小
strlen:字符的个数
8. 大小端
小端:低位数据对应低地址,高位数据对应高地址,低地址先存储,其余为0
大端:低位数据对应高地址,高位数据对应低地址,高地址先存储,其余为0

原创粉丝点击