字符串

作者: 风情云 | 来源:发表于2020-03-17 22:34 被阅读0次

字符串指针

字符串就是一个字符数组,只不过该数组以'\0'结尾,字符串的性质和数组差不多,名字也是字符串的首地址。一些定义也是大同小异,下面介绍一些不一样的性质。

字符串定义与使用

    //字符串特有定义方式
    //"TOM" => 'T','O','M','\0'
    char str[30] = "TOM";

使用双引号赋值字符串是一种常用的方式,会在结尾自动加上'\0',这个是字符串结束的标志,在打印字符串时,会自动在遇到'\0'的地方停止打印。可以看到打印的内容大小与字节大小不一致,这是字符串打印特性,遇到'\0'结束打印。如果没有‘\0’,结尾,打印将会乱码。

    char s[4] = {'L','U','B','I'};
    char str[] = "TOM\0JOHN";
    char ch[] = "\0KOKO";
    //打印字符串和字符串大小
    printf("str = %s sizeof(str) = %d\n",str,sizeof(str));
    printf("ch = %s sizeof(ch) = %d\n",ch,sizeof(ch));
    printf("s = %s sizeof(s) = %d\n",s,sizeof(s));

结果

str = TOM sizeof(str) = 9
ch =  sizeof(ch) = 6
s = LUBI5 sizeof(s) = 4

字符串是一个数组,就不能以变量名来赋值,要以数组下标来赋值。这样会有点麻烦。系统库有专门的字符串赋值函数提供使用。
头文件:string.h
char *strcpy( char *to, const char *from );
功能:复制字符串from 中的字符到字符串to,包括空值结束符。返回值为指针to。
但要注意字符串to的大小要装得下from字符串,不然会运行出错。

    char str[10] = "JOJO";
    char ch[10];
    strcpy(ch,str);

一些关于字符串的其他函数
字符串拼接
char *strcat( char *str1, const char *str2 );
功能:函数将字符串str2 连接到str1的末端,并返回指针str1.
str1与str2的数据没有被改变,使用字符指针接收该返回值
查找字符
char *strchr( const char *str, int ch );
功能:函数返回一个指向str 中ch 首次出现的位置,当没有在str 中找ch到返回NULL。
字符串比较
int strcmp( const char *str1, const char *str2 );
功能:比较字符串str1 and str2, 返回值如下:
返回值
less than 0
str1 is less than str2
equal to 0
str1 is equal to str2
greater than 0
str1 is greater than str2
字符串长度
size_t strlen( char *str );
功能:函数返回字符串str 的长度( 即空值结束符之前字符数目)
字符串追加
char *strncat( char *to, const char *from, size_t count );
功能:将字符串from 中至多count个字符连接到字符串to中,追加空值结束符。返回处理完成的字符串。

字符串常量

字符串常量与变量不同,字符串常量在文字常量区,权限为只读。字符串变量在栈区,可读可写。操作文字常量区内容会运行出错。

    char *str = "TOM";
    //运行出错
    *str = "KOKO";
字符串常量
微信号

相关文章

  • Javascript知识点整合

    字符串 单行字符串: ‘字符串’或“字符串” 多行字符串: `多行字符串` 字符串操作: 字符串连接‘+’号 长度...

  • C++基础字符串

    字符串的构造 字符串特性描述 字符操作 字符串赋值 字符串连接 字符串比较 字符串查找 字符串替换 字符串删除 字...

  • iOS中的NSString与NSMutableString

    字符串的创建 字符串读写 字符串的比较 字符串的搜索 字符串截取 字符串替换 字符串与路径 字符串转换 NSMut...

  • iOS NSString用法总结

    字符串属性 字符串截取 字符串比较 字符串搜索 字符串拼接 字符串基本类型转换 字符串分行,分段 字符串列举(按条...

  • php 字符串常见方法汇总

    字符串拼接 字符串检索 字符串截取 字符串替换 字符串大小写转化 字符串转数组 字符串格式化

  • iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iO

    iOS之字符串截取、iOS 字符串替换、iOS字符串分隔、iOS之字符串匹配、截取字符串、匹配字符串、分隔字符串 ...

  • PHP中字符串函数库常用函数解析 -- PHP 学习 (十一)

    常用字符串函数分类: 字符串长度, 字符串查找, 字符串大小写转换, 字符串截取, 字符串 ASCII, 字符串加...

  • Kotlin语言(二):字符串类型

    1、字符串定义 2、字符串删除空格 3、字符串比较 4、字符串切割 5、字符串截取 6、字符串替换 7、字符串模板

  • 字符串扩展

    求字符串大小 字符串解码、转换 字符串截取 字符串汉字处理 字符串 Mac地址 字符串进制转换

  • 2020-09-30字符串

    day8-字符串 字符串的操作 in 和 not in字符串1 in 字符串2 - 判断字符串1是否是字符串...

网友评论

    本文标题:字符串

    本文链接:https://www.haomeiwen.com/subject/jzxfyhtx.html