复合数据类型和字符串

复合的数据类型

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首次出现的位置。

你可能感兴趣的:(复合数据类型和字符串)