-
按位异或:定位反转、数值交换
按位取反:对二进制位取反
查看全部 -
按位或:设置指定位的数值、
查看全部 -
按位与作用:迅速清零、保留指定位的值、判断奇偶型(数值&1,得到奇数为1,偶数为0)
查看全部 -
1.注意头文件
查看全部 -
在链表中,通过上一个元素的下一个元素的地址才可访问元素,若无头指针是无法访问链表的
查看全部 -
3。链表的构成
查看全部 -
2.链表的储存位置不一定是连续的
查看全部 -
1.
查看全部 -
1.
查看全部 -
公用体:不同的变量使用相同的内存单元,可以节省开销,但同一时刻只能存储一个成员,只能有一个常量,内存长度是所有成员中最长的长度。
定义:union 名称{
成员类型 成员名;
成员类型 成员名;
.....
};
声明:union 名称 变量名;
赋值:名称.成员名=..;
结构体空间大小:最后一个成员的偏移量(成员的实际地址与结构体首地址之间的差距)+最后一个成员的大小+末尾的填充字节数(由于每个成员相对于结构体首地址的偏移量都得是当前成员所占内存大小的整数倍,若不是,则会加上填充字节 )
查看全部 -
初始化结构体成员:struct 名称 变量名 = {"字符数据",数据,数据....};
访问结构体成员:变量名.结构体成员
结构体数组,每个元素都是一个结构体类型的数据,每个结构体成员类型数量相同。
查看全部 -
结构体类型:struct 名称{
int 名称;
char 名称;
......
};
声明方法:1、struct 名称 变量名;
2、声明的时候去定义(适合小程序编写,大程序编写显得不够精细):
struct 名称{
int 名称;
char 名称;
......
}变量名;
3、不指定结构体的名称(只能定义一种结构体类型):
struct{
int 名称;
char 名称;
......
}变量名;
查看全部 -
typedef 是一个关键字,不参与预处理,给变量类型起别名
格式:typedef 类型 别名;
例子:typedef int *p;
p q = NULL; 相当于 int *q = NULL;
宏的作用域是整个程序文件,即使写在某个函数里面,还是可以全局调用
typedef是有作用域的,在全局中写作用全局,在函数内写,作用在函数内
查看全部 -
宏声明:#define 替代的字符 被替换的数据
查看全部 -
gcc -o 生成文件.i 被执行文件.c -E(只进行预处理)
预处理:展开头文件、宏替换
宏是不考虑C的语法,只是单纯的字符串替换
查看全部
举报