字符数组 :
- 如果赋值为字符串, 数组大小包含'\0'.
 - 字符串 : " " 存在字符串终止符 . '\0' ;
 
字符串处理函数:
puts :
- puts(字符数组名);
 - 字符串输出函数
 
gets :
- gets(字符数组名);
 - 字符串输入函数
 - 返回值: 字符数组的地址.
 
strcat :
- strcat(字符数组1, 字符数组或者字符串);
 - 功能: 把后面的字符串连接到前面的字符串的结尾,
并且把新的字符串存放在字符数组1中. - 返回值 : 字符数组1的地址.
 - 注意: 字符数组1的大小.
 
strcpy :
- 字符串拷贝函数
 - strcpy(字符数组, 字符串);
 - 功能 : 把后面的字符串拷贝到前面的字符数组中,
拷贝时连同'\0'一起拷贝. - 注意: 字符数组的大小.
 
strlen :
- 计算字符串长度
 - strlen(字符数组或者字符串);
 - 注意:计算字符串长度时, 遇见'\0'停止计算(长度不包括'\0')
 - 返回值 : size_t -> unsigned int
 
strcmp
- 字符串比较函数
 - strcmp(字符串1, 字符串2);
 - 注意: 在比较时, 进行的是逐个字符的比较, 遇见不同的字符立即结束比较.
 - 返回值 :
- 1 : 字符串1 > 字符串2
 - 0 : 字符串1 == 字符串2
 - -1 : 字符串1 < 字符串2
 
 - strncmp(字符串1, 字符串2, 整型数n);
 - 功能: 比较的为字符串1和2 的前n个字符.
 - 返回值 与 strcmp一致.
 
指针变量 :
一般形式 :
- 存储类型 数据类型 * 变量名;
 - 数据类型 : 指针变量指向的存储空间存储的数据的类型.
 - 数据类型 * : 指针变量本身的类型
 
初始化 和 赋值 :
- 存储类型 数据类型 * 变量名;
 - 野指针 : 有指向, 指向不能确定.
 - 空指针 : NULL ===  (void *)0
对于空指针(NULL) , 不能进行取地址内容操作 
两个指针变量相减:
- 要求: 两个指针变量必须指针同一片连续分配的内存空间.
 - 结果: 相差数据的个数.