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