
图控大叔
构图传递思想
阅读从未如此简单!!!
01
前言
今天我们来了解一下C语言里面常常用到的bzero函数。
02
bzero函数
需要包含的头文件
#include
函数原型
extern void bzero(void *s, int n);
函数参数
1、*s:s 要置零的数据的起始地址。
2、n:n 要置零的数据字节个数。
函数功能
置字节字符串s的前n个字节为零且包括'\0'。
返回值
无返回值
示例说明
示例1
#include #include int main(int argc, const char **argv){int buf[10];int i = 0;for(;i<10;i++)
{printf("未初始化 buf[%d] %d\n",i,buf[i]);
}由于该数组有10个数组元素,且每个数据元素占用4个字节所以,在对该数组进行置零初始化的时候,需要对10*4个字节进行初始化
未初始化的数组的值是随机的
经过bzero函数初始化后的数组元素,值都是0
示例1截图
示例2
#include #include int main(int argc, const char **argv){int buf[10];
int i = 0;for(;i<10;i++)
{printf("未初始化 buf[%d] %d\n",i,buf[i]);
}
i = 0;
bzero(buf,10);for(;i<10;i++)
{printf(" buf[%d] %d\n",i,buf[i]);
}return 0;
}
/*示例说明:
此处bzero(buf,10)中
buf为buf的默认首地址
10表示只对该buf数组前10个字节进行初始化
但是该数组的每个元素都占用4个字节数
所以,只能将前两位数组元素进行初始化
而第三位却依旧是随机值
未初始化的数组的值是随机的
经过bzero函数初始化后的数组元素,值都是0
*/
示例2截图
示例3
#include #include int main(int argc, const char **argv){int buf[10];
int i = 0;for(;i<10;i++)
{printf("未初始化 buf[%d] %d\n",i,buf[i]);
}
i = 0;
bzero(&buf[3],12);for(;i<10;i++)
{printf(" buf[%d] %d\n",i,buf[i]);
}return 0;
}
/*示例说明:
此处bzero(&buf[3],12)中
&buf[3]表示要置零的数据的起始地址
12表示从起始地址开始的12个字节进行初始化
因为这里该数组的每个元素都占用4个字节数
所以,只能将起始地址往后的三位数组元素进行置零初始化
而其他数组元素的值却依旧是随机值
未初始化的数组的值是随机的
经过bzero函数初始化后的数组元素,值都是0
*/
示例3截图
03
结尾
好了,关于C语言中常常用到的bzero函数的介绍就到这里了。如果读者对推文中的内容有什么不同看法,可以到后台给小编留言哦!