关于初始化
指针的初始化
int *a = 0; /*right*/ int *a = 1; /*wrong*/ //or int a = 10; int *b = &a;
数组的初始化
1. 申明的时候初始化
/*数组*/
char array[ARRAY_SIZE_MAX] = {0}; //or char array[] = {0}; //or char arry[]={1,2}; /*未指定数组长度时,可以不用在意*/ char arry[4]={1,'b'}; /*指定size为3是,arry[0]被初始化为1,arry[1]被初始化为b,其余用0补足。等价于{1,'b',0,0}*/ char arry[3]={'a','b',3,4}; /*错误,指定初始化的长度大于数组的max size*/
/*字符串*/
char str[10]=""; //or char str[10]={'\0'}; //or char str[10]; str[0]='\0';
2. memset
char array[ARRAY_SIZE_MAX]; memset(array, 0, ARRAY_SIZE_MAX); /*数组*/ memset(array, '\0', ARRAY_SIZE_MAX); /*字符串*/
3. for循环
int i = 0; char array[ARRAY_SIZE_MAX]; for (i = 0; i < ARRAY_SIZE_MAX; i++) //for循环赋值 { array[i] = 0;
}
结构体的初始化