C:什么是字符串数组

127 阅读2分钟

文章目录


一、概念

  1. C语言没有字符串类型,用一片内存空间保存一串字符,这片空间称作字符数组。
  2. 用 ‘\0’ 结尾的字符数组被称为字符串数组。( ‘\0’ 是字符串结束的标志)
  3. 用双引号括起来的都是字符串

二、初始化

  1. char str[6] = { ‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’ };//字符串数组
    在这里插入图片描述
  2. char str[6] = “hello”; //简化版写法
    在这里插入图片描述
  3. char str[6] = { ‘h’, ‘e’, ‘l’, ‘l’, ‘o’ };//str[5]的内存上自动赋值为’\0’
    在这里插入图片描述
  4. char str[10] = { ‘h’, ‘e’ };//其余8个元素自动赋值为’\0’
    在这里插入图片描述
  5. char str[] = “hello”;//元素个数可以省略 数组分配空间大小为字符串中实际赋值字节数6
    在这里插入图片描述
  6. char *str = “hello”;//str是指针 存储字符串首地址 指向字符串
    在这里插入图片描述
  7. char str[5] = { ‘h’, ‘e’, ‘l’, ‘l’, ‘o’ };//是字符数组而不是字符串数组,因为没有’\0’
    在这里插入图片描述

三、赋值

  1. 利用 scanf 的 %s 占位符接收字符串。scanf 遇到空格或者Tab或者回车就结束输入在这里插入图片描述
  2. 利用 gets 函数接收字符串在这里插入图片描述

知识点习题

  1. 字符串 str = ‘\u00234\1234’,则 str.length 的值为:

A. 6
B. 3
C. 4
D. 7

正确答案: C

答案解析:

反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。

\0:null(\u0000)
\b :后退键(\u0008)
\f :换页符(\u000C)
\n :换行符(\u000A)
\r :回车键(\u000D)
\t :制表符(\u0009)
\v :垂直制表符(\u000B)
\' :单引号(\u0027)
\" :双引号(\u0022)
\\ :反斜杠(\u005C)

所以 \u0023 长度为1,

转义字符是要用\开头的,斜杠后面可跟1至3位八进制数(可以由0开头):或以x开头的1至2位十六进制数

所以长度一共为4.