一般情况下,清空 stTest 的方法:
stTest.csName[0]='/0';
memset(&stTest,0,sizeof(structsample_struct));
structsample_structTEST[10];
memset(TEST,0,sizeof(structsample_struct)*10);
//“将 s 所指向的某一块内存中的每个字节的内容全部设置为
ch 指定的 ASCII 值”干什么?为什么说“这个函数通常为新申请的
内存做初始化工作。”?
答:刚分配的内存空间,或者是被你用过的内存空间里面的数据
是不固定的为了避免这些无用的数据给自己的程序带来影响,可以
用 memset 把这些内存里面的数据置成某个数值一般情况下是置 0,
当然,如果你的程序不会受这些无用数据影响,就不用做这个工作
了所谓“初始化”,当然是指将你定义的变量或申请的空间赋予你
所期望的值,例如语句 inti=0;就表明定义了一个变量 i,并初始化
为 0;如果 intj=5;就表明定义了一个变量 j,并初始化为 5。
但是对于大块儿内存的分配,这种方法当然不行,例如
intarr[100];定义了数组 arr,包含 100 个元素,如果你写成
intarr[100]=0;想将数组全部内容初始化为 0,是不行的,连编译
都不能通过。这种情况的初始化,有两种方法,一种是一个一个的
初始化,如 for(inti=0;i<100;i++)arr[i]=0;就完成了数组的初始