【位域的计算】
//二进制位数
unsigned int isTure : 1;
//isTure 只能是1或0
unsigned int Age : 3;
//当赋值为8以上时越界
【typedef】
注意与sizeof的区别
typedef unsigned char BYTE;
typedef int INT;
在结构体上的应用:
#include<stdio.h>
#include<string.h>
#pragma warning(disable : 4996)
struct Books
{
int num;
char bookname[10];
};//定义结构体
typedef struct Books BOOK;//将 struct Books 用BOOK代替
int main(void)
{
BOOK book;//实例化
strcpy(book.bookname, "童话");
printf("%s", book.bookname);
return 0;
}
【枚举】关键词:enum
#include<stdio.h>
enum Week
{
Mon=1,//默认值为0
Tue,Wed,Thu,Fri,Sat,Sun
};
enum Year
{
Spring,Summer,Autumn,Winter
};
int main(void)
{
enum Day day;
day = Fri;
printf("%d", day);
return 0;
}
【动态内存分配】
malloc()+realloc()
【位运算】
大多数的运算以字节作为最基本位进行,但在很多系统程序中常要求在位(bit)一级进行处理,C语言提供位运算的功能,这使得C语言能像汇编一样用来编写系统程序。
六种位运算符:&,|,^(异或,不同为1,相同为0),~,<<,>>