思维导图
2
//1 //1 //3 //1 //3
//1 //4 //4
// 2 //4 //2 //1
//8 1+3+4+2=10 1+3+4+1=9
1+1+2+4+8=16 12 12
//1 //2 //6 //2 //6
//1 //2 //4 //4 //4 //4
//4 //8 //8 *10
1+1+2+4=8 //1 //7 //1 //7
//4 //4 //4 //4
2+6+4+4+8+1+7+4+4=40 112
//1 //3 //1 //4
//4 //1 *3 //1 //3
//2 //1 //8
1+3+4+2=10 1+3+1=5 //1 //3
12 //4
//8
32
3
4
typedef和#define的区别?
- 语法形式与执行时间:typedef是C语言的关键字,用于创建类型别名,它需要在编译阶段进行处理,具有类型检查的功能。而#define是预处理指令,用于创建宏定义,它在预处理阶段(即在编译之前)进行简单的字符串替换,不进行任何检查。
- 功能:typedef主要用于定义一种数据类型的别名,以增强程序的可读性。而#define不仅可以为类型取别名,还可以定义常量、变量、编译开关等。
- 作用域:typedef具有作用域限定,只能在定义的作用域内使用。而#define没有作用域的限制,只要是在#define声明后的引用都是正确的,不论其在哪里定义过,在之后的程序中都可以调用。
- 对指针的操作:当使用typedef和#define修饰指针类型时,它们的作用也会有所不同。例如,当使用typedef定义一个指向整数的指针类型时,该指针本身是一个常量,不能更改其指向,但可以更改其指向的内容。而使用#define定义的宏,指针本身和指向的内容都可以更改。