1.Linux虚拟地址空间
4G内存:1G内核空间和3G用户空间;
用户空间:数据段:  全局数据 static静态区
                代码段 :  代码,常量
                 栈:         局部变量,形参
                 堆:         malloc分配地址,realloc调整内存地址,free释放内存地址;每个区间的四个属性:r 只读,w修改,x 可执行,p/s 是否共享内存。free和malloc配套使用
2.通常用if(p!=NULL)进行放错处理或者初始化指针来避免野指针。
3.出现段错误时可以用gdb逐步查找段错误
4.终止宏定义的作用域可以使用#undef命令
5.文件包含:使用尖括号表示在包含文件目录中去查找,不在源文件目录去查找;使用双引号表示首先在当前的源文件目录中查找,未找到时才到包含目录中去查找
6.条件编译:
一种形式:
#ifdef 标识符
     程序段1
#else
     程序段2
#endif
7.##是连接符,将两个Token连接为一个Token
8.结构体命别名
typedef struct [student]
{
       char name[10];
        char sex;
        int age;
         float score;
}STU

Liunx_C预习:结构体、预处理、内存管理相关推荐

  1. c语言 结构体映射,内存管理之4:页面映射中的结构体

    date: 2014-09-10 19:09 备注:本文中引用的内核代码的版本是2.4.0. 在前面的文章中,我们介绍了linux页式内存管理,讲到了页面目录PGD.中间目录PMD以及页表PT,本文来 ...

  2. 【Contact】结构体+动态内存管理+文件存储实现简易通讯录代码

    目录 静态版本 test.c contact.h contact.c 动态版本 test.c contact.h contact.c 文件的版本 test.c contact.h contact.c ...

  3. 从结构体、内存池初始化到申请释放,详细解读鸿蒙轻内核的动态内存管理

    摘要:本文带领大家一起剖析了鸿蒙轻内核的动态内存模块的源代码,包含动态内存的结构体.动态内存池初始化.动态内存申请.释放等. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列九 动态内存Dyna ...

  4. 自定义类型详解:结构体(内存对齐、位段) + 枚举 + 联合

    目录 一.结构体 1.特殊的声明 2.结构体自引用 3.结构体变量的定义和初始化 4.打印结构体 二.==结构体内存对齐== 1.内存对齐 结构体嵌套如何求 为什么存在内存对齐? 2.修改默认对齐数 ...

  5. 结构体的内存对齐规则

    1.结构体的内存对齐规则 1.第一个成员在与结构体变量偏移量为0的地址处. 2.其他成员变量都放在对齐数(成员的大小和默认对齐数的较小值)的整数倍的地址处. 对齐数=编译器默认的一个对齐数与该成员大小 ...

  6. 【C 语言】结构体 ( 结构体中嵌套一级指针 | 分配内存时先 为结构体分配内存 然后再为指针分配内存 | 释放内存时先释放 指针成员内存 然后再释放结构头内存 )

    文章目录 一.结构体中嵌套一级指针 1.声明 结构体类型 2.为 结构体 变量分配内存 ( 分配内存时先 为结构体分配内存 然后再为指针分配内存 ) 3.释放结构体内存 ( 释放内存时先释放 指针成员 ...

  7. C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?

    C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题? 问题1:结构体指针最开始怎么分配内存?用sizeof()是不能确定大小的. 问题2:给结构体变量分配之后,是否还要 ...

  8. 更改结构体的内存字节对齐方式--经典

    结构体字节对齐 http://blog.163.com/ecy_fu/blog/static/4445126200910603739941/ http://hi.baidu.com/skyland_l ...

  9. C语言结构体占用内存总结

    C语言结构体占用内存总结 前几天有个小朋友问了我一下,关于C语言结构体占用空间的问题.觉得以后会对小可爱有点帮助,就打算先写一下. struct Test {int a;char b;int c; } ...

最新文章

  1. 洛谷P4568 飞行路线 最短路k条免费
  2. 1.10 比较两个数组是否相等(equals())
  3. .NET Core容器化@Docker
  4. Oracle计划任务JOB不自动执行的问题
  5. 2012年最后一天,终于盼到公司发报卡了
  6. php android 复制粘贴板,Android_Android剪贴板用法详解,本文实例详述了Android剪贴板的 - phpStudy...
  7. python语句块规范_Python基础语法——代码规范判断语句循环语句
  8. java充血模型orm框架,关于领域驱动设计和贫血、失血、充血模型
  9. nyoj 309 bobsledding 即河南省第四届大学生程序设计大赛第七题
  10. c++11 多线程依次打印ABC
  11. 未来教育 ***java二级考试题库第二十五套错题***
  12. 【Unity3D】地形Terrain
  13. sentaurus TCAD的安装与使用
  14. CFA一级学习笔记--衍生品(一)--概念以及定义
  15. js实现微信中下载APP
  16. 微签电子印章自动生成上线
  17. 多线程 join 钉钉考勤
  18. 【文献阅读笔记】CVX使用常用替换公式
  19. php redis 详细操作
  20. 仙侠游戏改编电视剧为什么很火?

热门文章

  1. Unity-EasyAR篇-单,多图片识别
  2. AR-HUD相关技术介绍2021-03-23
  3. win10+N卡1060驱动+cuda7.5+VS2013+matlab2016a安装记录
  4. OAF页面上传、导入、发布
  5. Xilinx Microblaze使用
  6. ipadPro上java开发环境_iPad Pro你会用吗?iPad Pro史上最全使用指南!
  7. HaaS100硬件规格
  8. DirectX修复工具增强版更新包
  9. STM32三种BOOT模式的差异
  10. AMA:关于 Willin Wang 的任何问题