函数:
思想:模块化,将功能不同的代码封装在不同的函数中。
返回值,函数功能,参数
函数在调用前,需要先声明。若函数的定义在主函数之前,则无需显式声明;
函数指针:用于保存函数的地址的指针变量,在定义该指针变量的时候需要定义该指针指向函数的返回值,形参的类型如:定义pf为一个指针,该指针指向一个函数,该函数的返回值为int,形参为int int~
递归:
函数直接或者间接的调用自己,函数只是一段代码,函数的调用只是跳转到该地址执行该段代码,在计算机看来,函数调用自己和调用别的函数没有任何区别。
递归应该是有限的,递归的系统栈开销是非常大的,但是在逻辑和思想上显得和严谨。故递归不是经常使用。
结构体:
struct st{
};结构体是一种构造类型的结构,在同种类型的结构体之间,是可以相互赋值的,不可以整体赋值,但是可以像数组一样在初始化的时候可以一次赋值。
结构体所占用内存的长度,是需要考虑字节对齐的,一般的为四字节对齐。
结构体是不可以直接比较大小的,若需要比较结构体的大小,需要调用系统函数进行比较
- #include <string.h>
- int memcmp(const void *s1, const void s2);
在s1>s2时候,函数返回1,在s1==s2时,函数返回0,在s1
共用体:
union ui{
};共用体也是一种构造类型的结构,其中所有的元素均占用同一内存,占用类存的长度取其中最长的元素的大小,在改变其他非最长元素的值时,之后的内存空间是不变化的(系统不会对该内存进行任何操作)
阅读(1019) | 评论(0) | 转发(0) |