原码 补码 反码
只要是整数,内存中存储的都是二进制的补码
正数--三码相同
负数
原码是直接按照正负写出的二进制序列 -- 反码按照原码的符号位不变,其他位按位取反得到的 -- 补码按照反码+1所得
条件操作符(三目操作符)
exp1? exp2 : exp3 --判断exp1真假--为真则执行exp2--为假则执行exp3
关键字
register (建议放入)寄存器
int定义的变量是有符号的(c语言中平时缩写的int完整应是signed int)
unsigned int定义的变量是无符号的
struct-结构体关键字
union-联合体/共用体
void-无/空
typedef-类型定义/类型重定义(类型重新起名) eg:typedef unsigned int u_int为了书写方便
static--修饰局部变量时,局部变量的生命周期变长--修饰全局变量时,改变了变量的作用域,让静态的全局变量着呢在自己所在的源文件内部使用,出了源文件就无法再使用了--修饰函数,改变了函数的链接属性(一般情况下,函数具有外部链接属性,而static则屏蔽了其外部链接属性)
extern-声明外部符号/函数
#define定义常量和宏
指针
指针变量-用来存放地址
指针大小在32位平台是4个字节,64位平台是8个字节
想法:……
计算机是没有减法的,a-b要转换成a+(-b),所以有了补码