C语言中的字符数组与字符指针应用研究+源代码(2)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

C语言中的字符数组与字符指针应用研究+源代码(2)

C语言中用方括号中的数字表示下标,如用 表示 ,即第15个学生的成绩。

字符(非字符串数组,字符数组和字符串数组是有区别的,字符串数组是指它的每一个元素都是字符串)数组即用来存放字符数据的数组,在内存中占一段连续的单元。字符数组中的一个元素存放一个字符。

2。2  用字符数组处理字符串

字符串可以看作一组字符型数据的集合。C语言中,字符串是作为字符数组来处理的。

C语言中规定了一个“字符串结束标志”,以字符‘\0’作为结束标志。也就是说在遇到‘\0’则表示字符串结束,前面的字符组成一个字符串。C系统中在用字符数组存储字符串时会自动在末尾加入‘\0’。例如“Hello”共有5个字符,字符串存放在一维数组中,在数组有6个字节,最后一个字节是系统自动加的‘\0’结束符。因此在C系统中,在定义字符数组时应使得字符数组长度始终大于字符串实际长度,如若数组长度小于字符串长度,则编译器会给出警告。 

通常情况下,用字符数组存储字符串有两种方法,一是逐个字符存放,即可以定义一个字符数组,并用“初始化列表”对其进行赋值。然后用循环逐个输出此字符数组中的字符,即可输出一个已知的字符串。

例如,输出“C program。”。

  #include<stdio。h>

  int main()

  {char str[10]={‘C’,‘ ’ ,‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’,‘。’};

   int i;

   for(i=0;i<10;i++)

      printf(“%c”,str[i]);

   printf(“\n”);

   return 0;

}

该程序的存储情况如下图所示:

C p r o g r a m

这是将字符串中的字符逐个存放的,且字符长度与数组长度相同。二是也将整个字符串赋给指定的数组,例如,

  #include<stdio。h>

  int main()

  {char str[13]={“C program。”};

   printf(“%s\n”,str);

   return 0;

}

该程序的存储情况如下表所示:

C p r o g r a m \0 \0 \0

表1

数组的前10个元素为:‘C’,‘ ’,‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’,‘。’,第11个元素为\0,后面的2个元素也设定为空字符。也可以将上面程序改为

#include<studio。h>

  int main()

  {char str[ ]={“C program。”};

   printf(“%s\n”,str);

   return 0;

}

则该程序的存储情况如下表:

C p r (责任编辑:qin)