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
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
全局函数同理