初始化
char f[] = "I love the world";
char g[] = {"I love the world"}; //与上一种的初始化方法相同 sizeof 17
char t[] = {'I', ' ','l'}; // sizeof 3
字符串处理函数
#include<string.h>
// strlen 获取字符串长度,而不是尺寸
char f[] = "I love the world";
printf("%u\n",strlen(f)); // 输出16,不包含最后的反斜杠0符号,sizeof输出为7
// 拷贝字符串,strcpy和strncpy
strcpy(str1, str2); // 这里的str1的长度要比str2的长度长,是要把str2拷贝到str1里面去
strncpy(str1, str2, len); //拷贝str2到str1中,len是限制拷贝的长度,不包含结束符,所以结束后应该自己加上结束符
str1[len] = '\0';
// 连接字符串 strcat和strncat
strcat(str1, str2); // 将str2连接到str1的后面,str1就是连接后的字符串
// strncat和上面的strncpy的用法差不多,都要添加一个限定长度的len,并且最后都要手动加上一个结束符
// 比较字符串 strcmp和strncmp
strcmp(str1, str2); // 如果两个字符串完全一致那么返回0,如果不相同,如果当前第一个不相等字符的ASCII是str1小于str2,返回一个小于零的值,相反则返回一个大于零的值
字符数组可以直接 print
printf("%s\n",t);
// 对于指向一个字符数组的指针p,也是直接这样就行了printf("%s\n",p); 如果写*p的话,就是取其中的元素