04 2021 档案
摘要:int main() { int *p = (int *)0x12ff7c; printf("从0x12ff7c地址获取到的数据是:%d\n",p); *p = 0x100; // 将0x100写入地址0x12ff7c printf("从0x12ff7c地址获取到的数据是:%d\n",p); } 声
阅读全文
摘要:预处理指令 预处理名称意义#define宏定义#undef撤销已定过的宏#include使编译程序将领一源文件嵌入到带有#include的源文件中#if #if的一般意义是:如果#if后面的常量表达式为true,则编译它与#endif之间的代码,否则跳过这段代码。 命令#endif表示一个#if块的
阅读全文
摘要:typedef > type rename而不是type define。 typedef的真正含义是给一个已经存在的数据类型(是数据类型而不是变量)取一个别名,而非定义一个新的数据类型。 typedef和#define的区别 1、功能不同:typedef是一种在计算机编程语言中用来声明自定义数据类型
阅读全文
摘要:enum enum_type_name { ENUM_CONST_1, ENUM_CONST_2, ENUM_CONST_3, ... ENUM_CONST_n } enum_variable_name; enum_type_name是自定义的一种数据类型名,而enum_variable_name是
阅读全文
摘要:union维护足够的空间来放置多个数据成员中的一种,而不是为每一个数据成员配置空间。在union中所有的数据成员公用一个空间,同一时间只能存储其中一个数据成员,并且所有数据成员具有相同的起始地址。 union StateMachine { char character; int num; char
阅读全文
摘要:什么是大端什么是小端模式: 大端:将表示一个对象的字节在内存中按照从最高有效字节到最低有效字节的顺序存储,即最高有效字节在内存地址最前面的方式,称为大端法。 小端:将表示一个对象的字节在内存中按照从最低有效字节到最高有效字节的顺序存储,即最低有效字节在内存地址最前面的方式,称为小端法。 如何通过代码
阅读全文
摘要:结构体所占的内存大小是其成员所占内存之和。 空结构体有多大 struct student { } stu; 在GCC编译器中sizeof(stu)为0,而在其它编译器中其值可能为0。 柔性数组 在C99标准中,结构体中的最后一个元素允许是未知大小的数组,这就是柔性数组成员,但是结构体中的柔性数组成员
阅读全文
摘要:我们都知道全局变量可以为本文件中的其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。 如果全局变量不在文件的开头定义,有效的作用范围将只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字 extern 对该变量作“外部变量声明”。表示该变量是一个
阅读全文
摘要:volatile关键字是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,例如操作系统、硬件或者其它线程等。遇到此关键字声明的变量,编译器对访问该变量的代码不再进行优化,从而提高对特殊地址的稳定访问。 volatile int i = 10; int j = i; volatile关
阅读全文
摘要:定义的const只读变量具有不可变性,但是不可作为数组的维数,也不可用于case之后。 const修饰的只读变量必须在定义的同时进行初始化。 编译器通常不会给普通const只读变量分配存储空间,而是将其保存在符号表中,这使得它成为一个编译期间的值,从而能给你减少不必要的内存分配,提高效率。 #def
阅读全文
摘要:区别: 1、本质区别:sizeof是关键字,strlen是函数!!! 2、计算值的区别: strlen(参数),一般用来统计字符串中字符的个数,并且不包括‘\0’。 sizeof(参数)一般统计对象所占单元的(字节)的个数,以8位二进制作为一个存储单元,所以字节数一般等于存储单元的个数,包含’\0’
阅读全文
摘要:一、Static的作用: c语言中,static既可以修饰变量(全局变量和局部变量),又可以修饰函数。static类型的变量称为静态变量,如果不初始化则编译器自动初始化为0 static的用法有两种: 1、修饰全局变量 或 函数,用于限定该变量或函数作用域为本文件。(这种限定是针对编译器而言,运行时
阅读全文
摘要:说明: Linux系统下编译产生的二进制程序是以ELF格式存储的,ELF格式是分段的;Linux系统采用段式内存管理架构,二进制程序加载进内存后内存分布也是分段的。windows系统也是类似的。 个人理解: 分段是由编译器和操作系统实现,编译时编译器将不同类型的元素存储到相应的段,以区分处理,利于管
阅读全文