unsigned用来修饰int和char,使其不出现负值
char
普通char是-127—127
我们通常所说的char都是unsigned char ,即0-256
0-127 | 英文ASCII |
128-255 | ASCII未定义 通常由不同组织自行定义 比如常用于定义汉字GB2312取2字节unsigned char,其首位必须为1,即两个>127的unsigned char,以和英文ASCII区分 |
&针对变量取地址,*针对地址取值
多维数组
int a [2] [3]={{0,1,2},{3,4,5}};
static 变量
- static内部变量 一直保存在内存中,不随函数结束而释放 ,也不随新函数开始而被初始化 ,当函数再次被执行时,变量被调用时仍保留原值
- static 外部变量 使外部变量不能跨文件, 使外部变量只为单一文件使用,不扩展到别的文件
结构体
定义结构体类型 | struct person { char name[10]; char add[20]; int age; } ; 注意有分号 |
定义结构体变量 | main() { struct person student[20]; } |
引用结构体变量 | printf(“%s”,student[k].name); scanf(“%d”,&student[k].age); |
结构体指针的操作符
struct person *p;
p->name or *p.name
结构体函数一般不采用参数传递,而是指针参数
因为结构体太大,完全靠参数传递(实际是COPY),会极大影响运行速率
共同体union
union personitem
{
char a;
int b;
}
两个变量不能同时存在,是或的关系。此 union中或含有char,或含又 int