联合

来源:互联网 发布:手把手教你开淘宝 编辑:程序博客网 时间:2024/04/27 22:07
联合也是一种数据类型,也可以用来表示多组不同数据之间的关系
联合中不同部分数据在内存中占据的位置是重叠的
联合使用 union 关键字声明 
联合的大小是其中占地最大的一组变量的大小
对联合中任何一组数据的修改会影响到其他组



可以在程序运行过程中临时创建新变量,这种创建变量的方式叫做动态分配
动态分配的变量都存放在堆中
为了管理动态分配的变量需要使用几个相关标准函数
为了使用这些标准函数需要包含 stdlib.h 文件

malloc 标准函数可以动态分配多个连续的字符类型存储位置
这个函数会把分配好的第一个字节的地址记录在返回值变量中,以后就通过这个地址使用分配好的存储位置
        可以把得到的地址当做任何类型的地址使用
        如果 malloc 函数失败则会把 NULL 记录在返回值中
动态分配的存储空间在不再使用的时候必须释放,否则会导致内存泄露
free 标准函数用来释放动态分配的内存空间
任何动态分配的空间必须一次全部释放掉,而且只能释放一次
calloc   标准函数同样可以用来动态分配内存空间
calloc   保证把分配好的存储位置中都清 0 
realloc  标准函数可以随时调整一段已经分配好的内存空间的大小

新分配的存储位置和原有存储位置可能不重叠


函数指针用来记录函数的地址
函数名称可以当函数的地址
函数指针的声明是从函数声明变化过来的
一旦用函数名称给函数指针赋值后就可以使用函数指针调用函数了 p_add(2,6)

函数指针可以作为形参使用,这样可以实现回调函数的效果

atoi   标准函数可以把字符串里的整数转换成整数数据
atof   标准函数可以把字符串里的带小数点的数字转换成 double 类型数据

    这两个函数都需要包含 stdlib.h 文件
sprintf 函数可以把多个数据一次打印到字符串中
sscanf  函数可以从字符串中按照格式读出数据并记录到变量中
fprintf/fscanf 是文件版的输入输出函数


以下情况下输入缓冲区里的内容会显示在屏幕上
1.遇到 \n 
2.函数结束
3.输出缓冲区被充满
4.使用 fflush(stdout) 强制显示

sleep 标准函数可以强制进程休眠一段时间,以秒为单位
需要包含 unistd.h 文件
休眠的时间不精确
sqrt 标准函数可以用来计算数字的平方根
需要包含 math.h 头文件
编译的时候需要使用 -lm 选项
pow 函数可以计算一个数字的幂 使用和 sqrt 一样

0 0
原创粉丝点击