参考网址:
嵌入式C语言编程时,变量、数组、指针初始化的多种操作
数值初始化
| 12
 3
 
 | int    inum  = 0;float  fnum = 0.00f;
 double dnum = 0.00;
 
 | 
字符初始化
字符串初始化
实际上就是将字符数组中的字符都初始化为'\0'
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | char str[10] = "";
 
 char str[10];
 memset(str, 0, sizeof(str));
 
 char str[10];
 for(int i = 0; i < 10; i++)
 {
 str[i] = '\0';
 }
 
 | 
一般使用memset最合适,一般采用+1的方式参考:
| 12
 3
 
 | char year[4+1];memset(year, 0, sizeof(year));
 strcpy(year,"2018");
 
 | 
指针初始化
需要使用malloc申请动态内存
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | char *p = NULL;  p=(char *)malloc(100);
 if(NULL == p)
 {
 printf("Memory Allocated at: %x\n",p);
 }
 else
 {
 printf("Not Enough Memory!\n");
 }
 free(p);
 p = NULL;
 
 | 
结构体初始化
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 | typedef struct student{
 int id;
 char name[20];
 char sex;
 }STU;
 STU stu1;
 memset((char *)&stu1, 0, sizeof(stu1));
 
 
 
 
 
 
 
 | 
注意初始化结构体数组时
| 12
 3
 4
 5
 
 | STU stus[10];memset((char *)&stus, 0, sizeof(stus));
 memset((char *)&stus, 0, sizeof(STU));
 memset((char *)&stus, 0, sizeof(STU)*10);
 memset((char *)&stu1, 0x00, sizeof(stu1));
 
 |