- 字符串和字符指针
字符串常量“array”,“point”
用一对双引号括起来的字符序列
被看做一个特殊的一维字符数组,在内存中连续存放
实质上是一个指向该字符串首字符的指针常量
- Char sa[ ]=“array”;
Char *sp=“point”;
Printf(“%s”,sa);
Printf(“%s”,sp);
Printf(“%s ”“string”);
数组名sa,指针sp和字符串“string”的值都是地址。
- Char sa[ ]=“this is a string”;
Char *sp=“this is a string”;
如果要改变数组sa所代表的字符串,只能改变数组元素的内容。
如果要改变指针sp所代表的字符串,通常直接改变指针的值,让她指向新的字符。
- 常用的字符串处理函数
- 函数原型在stdio.h或string.h中给出
字符串的输入和输出
输入字符串:scanf( )或gets( )
输出字符串:printf( )或puts( )
Stdio.h
- Scanf(“%s”,str)
输入参数:字符数组名,不加地址符
遇回车或空格输入结束,并自动将输入的一串字符和’ ’送入数组中
- 字符串的复制,连接,比较,求字符串长度
字符串复制strpy(str1,str2)
字符串连接strcat(str1,str2)
字符串比较strcmp(str1,str2)
字符串长度strlen(str)
String.h
- 字符串比较strcmp(str1,str2)
比较两个字符串的大小
规则:按字典序(ASCII码序)
如果str1和str2相等,返回0
如果str1大于str2,返回一个正整数
如果str1小于str2,返回一个负整数