摘要:
联合体用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体 自定义数据类型 总结: 声明一个联合体: union abc{ int i; char m; }; 1. 在联合体abc中,整型量i和字符m公用同一内存位置。 2. 当一个联合被说 阅读全文
摘要:
一、什么是字节对齐? 在现代计算机中,内存空间都是按照字节(byte)划分的。从理论上讲对任何类型的变量的访问可以从任何地址开始,但实际情况是,访问特定类型的变量的时候经常在特定的内存地址访问,这就需要各种类型的数据按照一定规则在空间上排列,而不是顺序地一个接一个地排放,这种所谓的规则就是字节对齐。 阅读全文
摘要:
参考博客:https://blog.csdn.net/Littlehero_121/article/details/111171045 阅读全文
摘要:
变量1. 局部变量普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰符)都属于这个范畴。编译器一般不对普通局部变量进行初始化,也就是说它的值在初始时是不确定的,除非对其显式赋值。 普通局部变量存储于进程栈空间,使用完毕会立即释放。 静态局部变量使用static修饰符 阅读全文
摘要:
malloc()函数 malloc的全称是memory allocation,中文叫动态内存分配。 原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指 阅读全文
摘要:
C语言编译过程为:预处理-->编译-->汇编-->链接 1. 编译过程 编译过程又可以分成两个阶段:编译和汇编。 编译 编译是读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,源文件的编译过程包含两个主要阶段: 编译预处理 读取c源程序,对其中的伪指令(以# 开 阅读全文