C语言中字符串的处理

1、字符串字面值

   C语言是按照和字符串变量一样的方式来存储字符串字面值。C语言编译器在程序中遇到长度为n的字符串字面量时,它会为字符串字面量分配长度为n+1的内存空间,在末尾增加一个额外的字符——空字符(\0)。通常情况下可以在任何C语言允许使用 char * 指针的地方使用字符串字面量。

2、字符串变量

   只要保证字符串是以空字符(‘\0’)结尾的,任何一个一维字符串数组都可以用来存储字符串。

3、字符串初始化

    一维字符数组的长度要比字符串的实际长度至少大1。在对字符数组赋值时,字符数组前段是字符串的值,后面多出的位全是空字符'\0'。初始化时可不知道字符数组的长度,此时字符数组长度为字符串的实际长度加1,如char a[]="zjw",则数组a的长度为4,因为最后一位要存'\0'。

4、字符数组与字符指针

    当字符指针指向字符数组的首地址时,字符指针可以当作此字符数组的数组名使用,此时貌似和字符数组一样。但是当字符指针指向字符串常量时,此时就体现出字符数组名与字符指针的差别,字符数组内的每个字符是可以变化的,但字符指针指向的字符串内的字符却是不可以变化的。

5、字符串的输出

   可以用printf("%s",str)来输出字符串str,可以通过printf("%.6s,str")来控制只输出字符串str的前6个字符。

   也可以使用puts(str)来输出字符串str。

6、字符串的输入

   可以使用scanf("%s",str)来输入字符串str,scanf读入时会忽略字符串前面的空白字符(空格、换行、制表符),然后读入字符串直到遇到下一个空白字符为止。

   也可以使用gets(str)来读入字符串,gets读入时不会忽略字符串前面的空白字符,并且也不是遇到所以的空白符就停止,而是遇到换行符时才终止。此外,gets会忽略换行符,不把它存在字符串中,而是用空字符‘\0’代替。

   另外,也可以自己写函数逐个字符读入,但此时要注意读入完成后,字符串末尾要加'\0'.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值