memset() 函数常用方法总结
一、对字符数组赋初值
char data[100];
memset(data,'0',sizeof(data));
char data[10][10];
memset(data, '#', sizeof(data));
二、对结构体赋初值
- 对结构体变量赋初值
- 对结构体数组赋初值
struct st{ double grade[5]; double avg=0.0; }stu[50],data; void main(){ memset(&data,0,sizeof(struct st)); //结构体变量赋初值 memset(stu,0,sizeof(struct st)*50); //结构体数组赋初值 }
三、对整型数组赋初值
1、使用memset对整型数组赋初值限制性比较大,只能赋初值为0
int data[100]; memset(data,0,sizeof(data));
2、对整型数组赋初值时需要注意
使用全局变量时默认会全部赋初值为 0 ;
若使用局部变量,并且需要使用数组进行计数时一定要注意,此时数组的初值是随机值,所以需要手动赋初值
int a[100] = {0}; //默认全部为0,但此时只有a[0]=0;是你主动赋值的,a[1-99]=0;是程序默认赋值的。
int b[100] = {1}; //此时只有a[0]=1; a[1-99] = 0;