![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
小強EE
单片机 --> X86 EE
展开
-
【C/C++】结构体和联合体的区别
联合体 用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体-------自定义数据类型 总结: 声明一个联合体: [cpp] view plain copy union abc{ int i; char m;转载 2016-08-08 16:05:01 · 475 阅读 · 0 评论 -
char,int,long,long long类型…
signed char -128~127 unsigned char 0~256 unsigned int 0~62255 //16bit int -32768~32767 //16bit unsigned int 0~4294967295 //32bit int -2147483648~2147483647 //32bit unsigned lo原创 2017-07-04 19:54:43 · 234 阅读 · 0 评论 -
C语言中的整型数据类型int、short&…
int数据类型的位数为16位,short int数据类型的位数也是16位。而long int的位数为32位,可用来存储比较大的整数。 short int 和 long int可以缩写为short 和 long。 C语言中的整型数据类型int、short int 和 long int 名称 全称类型说明符 缩写类型说明符 位数原创 2017-07-04 19:55:04 · 2343 阅读 · 0 评论 -
C/C++中static关键字作用总结
当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。 //a.c char a = 'A'; // global variable void msg() { printf("Hello\n"); } //main.c int main()原创 2017-07-04 19:57:20 · 183 阅读 · 0 评论 -
C中的volatile用法
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i; volatile 告诉编原创 2017-07-04 19:59:31 · 136 阅读 · 0 评论 -
讲讲volatile的作用
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)原创 2017-07-04 19:59:34 · 226 阅读 · 0 评论 -
最详细易懂的CRC-16校验原理(附源…
最详细易懂的CRC-16校验原理(附源程序) 1、循环校验码(CRC码): 是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。 2、生成CRC码的基本原理: 任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码10111原创 2017-07-04 19:59:40 · 2423 阅读 · 1 评论 -
结构体中的冒号
题目: struct A { char t:4; char k:4; unsigned short i:8; unsigned long m; } sizeof(A)=?(不考虑边界对齐) 7,如果考虑边界对其,则为8 以下段落引用来源:http://daixinghe.blog.163.com/blog/static/18436159201062111032307/ 有些信息在存储时,并原创 2017-07-04 19:59:49 · 950 阅读 · 1 评论