30深入理解C指针之---字符串和数组
一、字符串与数组
1、定义:使用字符数组表示字符串
2、特征:
1)、可以直接使用字符串字面量初始化字符数组
2)、声明后,赋值就只能使用字符串操作函数strcpy函数赋值
3)、可以使用数组的一一赋值
4)、可以使用数组的整体赋值
5)、无需而外申请内存空间
3、应用:
1 #include <stdio.h> 2 #include <string.h> 3 4 int main(int argc, char **argv) 5 { 6 char arrCh1[] = "Sound"; 7 char arrCh2[6] = {'S', 'o', 'u', 'n', 'd',}; 8 char arrCh3[6]; 9 arrCh3[0] = 'S'; 10 arrCh3[1] = 'o'; 11 arrCh3[2] = 'u'; 12 arrCh3[3] = 'n'; 13 arrCh3[4] = 'd'; 14 arrCh3[5] = '\0'; 15 char arrCh4[6]; 16 strcpy(arrCh4, "Sound"); 17 18 printf("arrCh1: %s\n", arrCh1); 19 printf("arrCh2: %s\n", arrCh2); 20 printf("arrCh3: %s\n", arrCh3); 21 printf("arrCh4: %s\n", arrCh4); 22 23 return 0; 24 }
1)、无需字符数组的最后一个是'\0',单个一一赋值时,需要特别留意,最后要加上第14行的代码,
2)、为字符数组申请内存空间时,一定要比需要的多一个字节,存放'\0'结束符
3)、为字符数组整体赋值时,不需要将最后一个赋值为'\0',但是数组空间必须比需要的多一个字节
4)、直接使用字符串字面量为字符数组赋值,就无需指定大小
人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。