字符串是用字符数组存储的,并且最后1位必须是
,编译器会把这个字符数组看作是char*类型的指针。
例如:printf("abc") //传递的时abc的地址,并且是a的地址
操作:
char *p;
p = "abc";
char ch;
ch = "abc"[1];
char str[8] = "abcdefg";//会把这几个字符复制到这个字符数组中;
他的存储方式为:
如果字符串不够7个就会把剩余的单元填
如果超越7个就不会把这个数组看成字符串了,字符串后面必须要有 ;
char str[] = "abcdeg";//编译器会自动计算长度,str是首字符的地址
char *str = "abcdef";//str是1个指针指向abcdef首字符的地址,并且str1定要指向1个存在的字符串
printf("string is %s", str);//
puts(str);
scanf("%s", str); //首先会跳过空白字符,然后读取,再次遇见空白字符停止读取
gets(str);//遇见换行符才会停止
使用C语言字符串库的时候必须包括#include
char str[10];
str = "abc";//毛病,不能使用=号运算符把字符串复制到字符数组中
字符串复制函数 strcpy函数
char str1[] = "hello world!";
char str2[10];
strcpy(str2, str1);
字符串拼接函数 strcat函数
strcat(str1, "abc");//这里的str1要有足够控件容下abc
字符串比较函数strcmp函数
strcmp(str1, str2);//相等返回0,str1>str2就返回大于0的数
求字符串长度的函数strlen函数
int len = strlen(str1);
存储字符串的最好方式就是1个2维数组;
char string[][3] = {"hello", "nihao"};
char *string[] = {"hello","world","I","love","you"};