复合的数据类型
int * p[10]:数组指针
int (*p)[10]:指针变量指向int[10]的数组
int * * p:指向指针的指针
字符串:
1.初始化字符串:
1)char s[] ={‘2’,’1’,’\0’}
2)char s[3] ={‘2’,’1’,’\0’}
3)char s[3]=“ky”会自动增加\0
2.字符串输出:
char s[] = “ky”
1)printf(“%s”,s):打印字符串时,从传入的地址首地址开始,到\0
2)puts(s):从传入的地址首地址开始,到\0.
3)puts(“ios”)
printf与puts的区别:
1)printf可以输出多个字符串,puts只能输出一个字符串
2)puts会自动换行,printf要手动换行
注意:字符串的结束标志是\0
3.字符串的输入:
char s[20]
1)scanf(“%s”,s):一次性可以输入多个字符串s是数组的首地址,不用&,输入一个字符串,以回车结束,不能输入空格,tab。
2)gets(s):一次性只能输一个字符串。若字符串空间过大,会占用其他的内存。造成数据篡改。
4.字符串数组:
字符处理函数:在stdio.h
1)putchar
2)getchar
字符串处理函数:在string.h
1)strlen():测量字符串常量的字符长度,返回字符长度,不包括/0
strlen(“abc”);输出3;
2)strcpy(char *,const char *):会把右边的字符串内容复制到左边
3)strcat(char *,const char *):会把右边的字符串拼接到左边的后面
4)strcmp(const char *,const char *):2个字符串从左到右面,直到不相同为止或\o为止。相同返回0,不相同则返回不相同的字符的“差”。
5)strstr(const char *,const char *):在字符串s1中寻找子串s2首次出现的位置。