31深入理解C指针之---指针和字符串
一、字符串与指针
1、定义:使用字符指针表示字符串
2、特征:
1)、可以直接使用字符串字面量初始化字符指针
2)、声明后,赋值就只能使用字符串操作函数strcpy函数赋值
3)、可以使用类似于数组的一一赋值
4)、可以使用类似于数组的整体赋值
5)、必须先申请内存空间
3、应用:
1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 5 int main(int argc, char **argv) 6 { 7 char *arr1 = "Sound"; 8 char arr[6] = {'S', 'o', 'u', 'n', 'd',}; 9 char *arr2 = arr; 10 char *arr3 = (char *)malloc(sizeof(char) * 6); 11 *(arr3 + 0) = 'S'; 12 *(arr3 + 1) = 'o'; 13 *(arr3 + 2) = 'u'; 14 *(arr3 + 3) = 'n'; 15 *(arr3 + 4) = 'd'; 16 *(arr3 + 5) = '\0'; 17 char *arr4 = (char *)malloc(sizeof(char) * 6); 18 strcpy(arr4, "Sound"); 19 20 printf("arr1: %s\n", arr1); 21 printf("arr2: %s\n", arr2); 22 printf("arr3: %s\n", arr3); 23 printf("arr4: %s\n", arr4); 24 25 return 0; 26 }
1)、可以直接将字符串字面量赋值给字符指针,完成字符串的初始化;
2)、可以直接将字符数组赋值给字符指针,完成字符串的初始化;
3)、可以先申请内存,之后像字符数组那样一一赋值,最后务必加上结束字符'\0';
4)、可以先申请内存,之后使用字符操作函数strcpy将字符串字面量复制到到字符指针,完成赋值操作;
人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。