1.1 小数: 1.int a=9/2; a=4 2.float a=9/2; a=4.00000000 3.float a=9.0/2; a=4.50000000 4.float a=9/2.0; a=4.50000000 复合操作符: a=a+6; 等同于 a+=6; sizeof: 计算类型或者变量大小,括号可以省略,因为是操作符不是函数 例如: 1.int a; sizeof(int)=4 或者 sizeof(a)=4 2.int arr[10]={0}; sizeof(arr)=40 二进制位取法: 分为原码,反码,补码 1.正整数第一位一定是0 原码,反码,补码相同 1:000000000000000000000000000000001 2.0的补码是00000000000000000000000000000000 3.负数:-1 原码10000000000000000000000000000001 原码除了第一位全都取反成为反码 反码111111111111111111111111111111111110 反码加一成为补码 补码11111111111111111111111111111111111 ~符号:将二进制中1和0互换:~a 强制类型转换: 例:int a=3.14; printf("%d",a); 需要修改为: int a=int(3.14); printf("%d",a); typedef用法: 类型重命名 typedef unsigned int u_int; 此时 unsigned int a=20; 等同于 u_int a=20; static用法: 静态 1.局部变量 static int a=1; 修饰局部变量,能让a的值不在释放 例如 for(i=0;i<5;i++) static int a=1; a++; printf("%d",a); 则输出2 3 4 5 6 本质上是把栈区放到静态区 栈区:局部变量,函数参数 堆区:动态内存分配 静态分布区:全局变量,static修饰的局部变量 2.全局变量 让原本另个add.c中(可放入text.c) static int stu_c=100; 不可放入其它源文件text.c 全局函数同理
标签:反码,1.1,int,补码,新年好,static,sizeof,原码 From: https://www.cnblogs.com/lz-not-lzy/p/17019260.html