2018年3月计算机二级考试C语言考点解析:字符串

  10.2字符串的指针以及指向字符串的指针变量

  1.用指针方法实现一个字符串的存储和运算

  如:

  char*strp=″china″;

  此处定义了一个字符指针变量strp,变量中存放的是字符串第一个字符的地址。

  C语言对字符串常量是按字符数组处理的,它实际上在内存开辟了一个字符数组用来存放字符串变量,并把字符串首地址赋给字符指针变量strp。

  在输出时用

  printf(″%s\n″,strp);

  通过字符数组名或字符指针变量可以输出一个字符串。而对一个数值型数组,是不能企图用数组名输出它的全部元素的。

  2.字符指针变量与字符数组

  虽然用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点:

  (1)字符数组由若干个元素组成,每个元素中放一个字符,而字符指针变量中存放的是地址(字符串的首地址),决不是将字符串放到字符指针变量中。

  (2)对字符数组只能对各个元素赋值,不能用以下办法对字符数组赋值。

  Charstr[14];

  str=″IloveChina!″;

  而对字符指针变量,可以采用下面方法赋值:

  char*a;

  a=″IloveChina!″;

  但注意赋给a的不是字符,而是字符串的首地址。

  (3)赋初值时,对以下的变量定义和赋初值:

  char*a=″IloveChina!″;

  等价于:

  char*a;

  a=″IloveChina!″;

  而对数组初始化时:

  staticcharstr[14]={″IloveChina!″};

  不能等价于

  charstr[14];

  str[]={″IloveChina!″};

  即数组可以在变量定义时整体赋初值,但不能在赋值语句中整体赋值。

  (4)在定义一个数组时,在编译时即已分配内存单元,有确定的地址。而定义一个字符指针变量时,给指针变量分配内存单元,在其中可以放一个地址值,就是说,该指针变量可以指向一个字符型数据,但如果未对它赋予一个地址值,这时该指针变量并未具体指向哪一个字符数据。

  (5)指针变量的值是可以改变的。

  3.字符串处理函数

  C语言中没有对字符串进行合并、比较和赋值的运算符,但几乎所有版本的C语言中都提供了有关的库函数。例如:

  (1)strcat函数:连接两个字符数组中的字符串

  (2)strcpy函数:字符拷贝函数

  (3)strcmp函数:字符比较函数

  (4)strlen函数:测试字符串长度的函数

  (5)strlwr函数:将字符串中大写字母转换成小写字母

  (6)strupr函数:将字符中小写字母转换成大写字母

  推荐阅读:

  2018年3月计算机二级考试C语言考点解析:初步知识

  2018年3月计算机二级考试C语言考点解析:编译预处理和动态存储分配

  2018年计算机二级考试大纲汇总

  2018年计算机二级考试备考经验汇总

  2018年计算机二级考试基础知识考点汇总

  出国留学网计算机等级考试 栏目推荐

  2018年计算机等级考试计划

  2018年计算机等级考试时间

  计算机等级考试动态

  计算机等级考试报名时间

  计算机等级考试时间

  计算机等级考试准考证打印时间

  计算机等级考试成绩查询时间

  计算机等级考试试题及答案

分享

热门关注

计算机二级考试时间一年几次呢

关于计算机二级

计算机二级考试时间分配

关于计算机二级

计算机二级考试内容考些什么

考试内容

计算机二级什么时候出成绩呢

计算机成绩

计算机二级考试主要考哪些内容

计算机二级考试内容

计算机二级考试c语言难不难

计算机二级考试

计算机二级考试重要考点归纳

二级考试重要考点归纳

计算机二级考试难不难

计算机二级考试

计算机二级考试内容难不难?有关计算机二级的考试内容

计算机二级考试内容难不难

计算机二级考试时间多长

关于计算机二级