以下内容都是一些上课笔记,可能会有错别字且在下是非科班,上的课都是网课,所以有错误请各位帮忙指出。
由于一下内容是个人笔记,其实大多是老师的PPT,但下面也没有选项可以让我选择,毕竟不是转载和翻译,所以我就厚颜无耻一把,选个原创了。
1.字符串的长度比你看到的多1,因为有"\0"。
2.C语言中两个连续的字符串会被连结起来变成一个大的字符串。
3.C语言的字符串是以字符数组的形式存在的,不能用运算符对字符串做运算,可以通过数组的方式可以遍历字符串。
4.字符串字面量可以用来初始化字符数组。
5.数组或指针定义字符串:当字符串作为本地变量时可以用数组;当数组只是只读不去写它,或者作为函数参数,做动态分配空间可以用指针。
6.scanf("%7s",string); 最多读7个字符。
7.常见错误:误以为char*是字符串类型,定义了一个字符串类型的变量string就可以直接使用了。
由于没有初始化,所以并不是每一次运行都出错。但一旦等于的地方是个有害的地方,程序会崩溃。
8.二维数组的第二个方括号中一定要有数字;
9.putchar 和 getchar 输出与输入都只有一个。
10.strcmp函数在string.h中,用来比较两个字符串是否相等。
int strcmp(const char*s1,const char*s2);
比较两个字符串,返回:
0:s1=s2;
1:s1>s2;
-1:s1<s2;
strcmp还能比较数组谁大,谁小。
11.char*strcpy(char *restrict dst,const char *restrict src);
把src的字符串拷贝到dst
restrict表明src和dst不重叠
返回dst
为了能链起代码来
12.char*strcat(char*restrict s1,const char*restrict s2);
把s2拷贝到s1的后面,结成一个长的字符串
返回s1
s1必须具有足够的空间