memset(&a, 0, sizeof(struct customer))函数定义在memory.h中,用于给指定的内存区域赋值,在该语句中,&a指定待赋值的内存首地址,0是要赋的值,而sizeof(struct customer)用于该内存区域待赋值的长度。
memset是设置内存的值,memset(a, 0, sizeof(a))就是将数组a的每个位置都设置为0,相当于循环的a[i]='0',memset(a, '\0', sizeof(a))可以算是清空,因为所有的c字符串都是以'\0'结尾的,设置成了'\0'也就相当于清空了。 a[0]='\0'可以清空a,你可以设置后,调用strlen(a)看看...
它只是把数组后面的一块大小为sizeof(int)的内存赋值为0。这块内存不属于数组,具体执行结果和内存结构...
a[]={0};//数组的初始化 其实这个没有啥区别的,你在源码中写上。a[] = {0};不需要再 memset(a,0,sizeof(a));拿vc6的编译器来说 a[] = {0};本身就相当于:a[];memset(a,0,sizeof(a));你可以自己反汇编代码看一下。那为什么会这样呢? 那是因为初始化是一个顺序点,编译器...
menset(a,0,sizeof(a)),第一个参数a表示数组a[20]的数组名,也是该数组的首地址;第二个参数0表示接下来要给数组所赋的值;第三个参数表示从首地址开始需要赋值为0的长度,sizeof(a)表示整个数组的长度20(包括'\0')。
memset(&a, 0, sizeof(struct customer))函数定义在memory.h中,用于给指定的内存区域赋值,在该语句中,&a指定待赋值的内存首地址,0是要赋的值,而sizeof(struct customer)用于该内存区域待赋值的长度。
一种常见的用法是使用memset将数组全部初始化为零。代码如下:memset(a,0,sizeof(a));另一个常见用法是将数组元素初始化为-1。代码如下:memset(a,-1,sizeof(a));更进一步,我们有时需要将数组元素初始化为一个较大的数值,如MAX值。这时,我们可以利用0x3f3f3f3f作为初始化值,它等于1061109567...
memset中的sizeof,记录memset中的sizeof的用法,1unsignedchar*buff=(unsignedchar*)malloc(128*sizeof(char));2//错误的:memset(buff,0,sizeof(buff));3...
memset(a, 0, sizeof(a));其作⽤为把数组a的所有元素初始化为0。需要注意两点 第三个参数并⾮填写数组长度,⽽是数组的⼤⼩,这⾥的⼤⼩是指以字节为单位 这个⽅法赋初值只能赋0和-1,因为他们的补码表⽰为全0和全1,所以按字节赋值不会出错,如果赋其他的值,则会出错 你可以使⽤...
memset(a,0,sizeof(a));//把数组清零 比起用for,menset又方便又快捷 二维数组的初始化也可以这样 比如a[2][3] memset(a,0,sizeof(a));//把数组清零 还要注意一点,它们都在头文件string.h中定义 3.memset注意的地方 int main(){ int s = 5; ...