|
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式程序设计语言 > 嵌入式C/C++程序设计要求 > C程序设计基础 > C程序基础 >
|
被考次数:8次
被考频率:中频率
总体答错率:63%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:28个
|
|
|
|
|
数组是一种集合数据类型,它由多个元素组成,每个元素都有相同的数据类型,占有相同大小的存储单元,且在内存中连续存放。每个数组有一个名字,数组中的每个元素有一个序号(称为下标),表示元素在数组中的位序(位置),数组的维数和大小在定义数组时确定,程序运行时不能改变。
|
|
|
|
|
其中,“类型说明符”指定数组元素的类型;“数组名”的命名规则与变量相同;“常量表达式”的值表示数组元素的个数,必须是一个正整数。例如:
|
|
|
|
在C程序中,数组元素的下标总是从0开始的,如果一个数组有n个元素,则第一个元素的下标是0,最后一个元素的下标是n-1。例如,在上面定义的temp数组中,第一个元素是temp[0],第二个元素是temp[1],以此类推,最后一个元素是temp[99]。访问数组元素的方法是通过数组名及数组名后的方括号中的下标。例如:
|
|
|
|
程序员需确保访问数组元素时下标的有效性,访问一个不存在的数组元素(例如temp[100]),可能会导致严重的错误。
|
|
|
定义数组时就给出数组元素的初值,称之为初始化,数组的初始化与简单变量的初始化类似。初值放在一对花括号中,各初值之间用逗号隔开,称为初始化表。例如:
|
|
|
|
对于没有给出数组元素个数而给出了初始化表的数组定义,编译器会根据初值的个数和类型,为数组分配相应大小的内存空间。初始化表中值的个数必须小于或等于数组元素的个数。
|
|
|
对于“int primes[10]={1,2,3,5,7};”,前5个数组元素的初值分别为1,2,3,5,7,后5个元素的初值都为0。
|
|
|
|
|
其中,“类型说明符”指定数组元素的类型,“常量表达式1”指定行数,“常量表达式2”指定列数。例如,可以定义一个二维数组:
|
|
|
|
这个数组在内存中占用能存放12个double型数据且地址连续的存储单元。
|
|
|
|
可以用sizeof计算数组空间的大小,即字节数。例如,
|
|
|
|
二维数组可以看作元素是一维数组的一维数组,三维数组可看作元素是二维数组的一维数组,以此类推。
|
|
|
|
|
字符串是一个连续的字符系列,用特殊字符’\0’结尾。字符串常用字符数组来表示。数组的每一个元素保存字符串的一个字符,并附加一个空字符,表示为“\0”,添加在字符串的末尾,以标识字符串结束。如果一个字符串有n个字符,则至少需要长度为n+1的字符数组来保存它。
|
|
|
一个字符串常量用一对双引号括起来,如Welcome,编译系统自动在每一字符串常量的结尾增加’\0’结尾符。字符串可以由任意字符组成,一个长字符串可以占两行或多行,但在最后一行之前的各行需用反斜杠结尾,如A String Can be write on multilines可等价地表示为:
|
|
|
|
需要注意的是,"A"与'A’是不同的,"A"是由两个字符(字符'A'与字符’\0’)组成的字符串,而后者只有一个字符。最短的字符串是空字符串"",它仅包含一个结尾符‘\0'。
|
|
|