1.使用位段的理由:
能够把长度为奇数的数据包装在一起,节省存储空间。
2.malloc和calloc的区别 (都用于动态分配内存,并返回一个指向该块内存的指针)
malloc的参数就是需要分配的内存数
calloc在返回指向内存的指针之前把它初始化为0. 在返回前把返回值初始化为0 而malloc不进行初始化
它们之间请求的内存数量的方式不同 calloc的参数包括所需的元素数量和元素的字节数。
3.realloc函数用于修改一个原先已经分配的内存块的大小
int (*f) ();
f是一个函数指针,它所指向的函数返回一个整型值。
函数指针是程序中的每一个函数都位于内存中的某个位置,所以存在指向那个位置的指针是完全可能的。int *(*f) ();
对其进行间接访问操作 得到一个整型值。int f; int f()[];
都非法,第二个是因为函数只能返回标量值,不能返回数组。
第一个是因为数组元素必须都有相同的长度,但是不同函数可能具有不同长度。
7.int (*f[])();
合法。f是一个数组,数组元素的类型是函数指针,它所指向的函数的返回值是一个整型值。