小工具知识网

当前位置: 首页 > 行业知识 > C语言之字符数组

行业知识

C语言之字符数组

2026-11-11 14:44:43 来源:互联网转载

目录

前言

字符数组

字符串的存储

字符数组初始化  

字符数组的输入输出

字符串处理函数

·字符串输出函数 puts

·字符串输入函数gets(不安全,尽量别用)

·gets()函数的替代方法

·fgets()函数

·getchar()函数+循环

·用scanf + 循环

·字符串连接函数strcat

·字符串拷贝函数strcpy

·字符串比较函数strcmp

·字符串长度函数strlen

·字符串处理函数(strlwr函数与strupr函数)

总结


前言

本篇是针对网上学习字符数组的知识点的总结。

感谢评论区的小伙伴提出的问题,gets()函数输入字符串那里确实有问题。现在gets()函数已经被弃用,因为它是不安全的。我会在文章中写明原因和替换gets()函数的方法。

字符数组

用来存放字符数据的数组是字符数组。

C语言用字符数组存放字符串,字符数组中的各元素依次存放字符串的各字符

一维字符数组:存放一个字符串(每个数组元素存放一个字符)

二维字符数组:存放多个一维数组(字符串);二维数组的行数是字符串的个数

定义格式: char 数组名[常量表达式];

                例如:char c[6];     //c数组具有6个元素,可以存放长度小于或等于5的字符串。

                    char 数组名[常量表达式][常量表达式];        //声明的时候,方括号中一定是常量或常量表达式,使用的时候可以是变量。其中常量表达式:整数、字符、符号常量 。 也可以用整型数组存放字符型数据,但是浪费存储空间。

字符串的存储

例如:char c[10]="c program";      该数组在计算机中存储的形式为

c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]
c空格program

字符数组初始化  

强调:字符串实际占有单元的数量等于字符串长度+1。

           定义时注意考虑元素总个数应比实际长度多1。

c[0]

(一)用单个字符对字符数组初始化

例如:char c[10]={'c',' ', 'p','r','o','g','r','a','m','\0'};   //把10个字符依次赋给c[0]~c[9]这10个元素

内存中存储情况:

  • 如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误
  • c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]c
    program
  • 如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的
  • 说明:

    • 如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度
    • 将字符串存储到字符数组中,字符串和第一个'

      字符数组的输入输出

      '构成有效字符串。对字符串的操作,就说对字符数组的操作
    • %c
    • 如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'\0')

      (二)用字符串常量对字符数组初始化

      例如:(1)char str[6]={"CHINA"};

                 (2)char str[6]="CHINA";            //省略{}

                 (3)char str[ ]="CHINA";            // 省略长度值

                 (4)char c[12]={"HOW ARE YOU"};  

                          与char c[ ]={'H','O','W',' ','A','R','E',' ','Y','O','U','\0'};  等价  

                 (5)char *p=c;     //用一个指针指向该数组,*(p+i) a[i]

      说明:

        #includeint main(){    char c[5];    int i;    for(i=0;i
      • 普通数组中的元素是确定的,一般用下标控制循环;而字符串使用结束符'\0'来控制循环

        1、单个字符输入输出(用格式符或字符输入函数)

    上一篇:服务器被攻击怎么防御设备?

    下一篇:Qt-demo高级感无边框窗口、美化基础控件