字符数组的初始化与一般数组的初始化类似,可以有完整赋值、部分赋值等情况。②使用字符串常量初始化字符数组。使用字符串常量对字符数组进行初始化时,系统会自动在末尾加上字符串结尾符号'\0',但定义的字符数组必须提供足够的长度。·如果没有指定字符数组的长度,系统自动指定为字符串常量中有效字符的个数+1。......
2023-11-20
格式:
功能:按指定“数据类型”定义二维数组,有“行长度×列长度”个元素。
说明:
(1)数组类型可以是任何基本数据类型,也可以是后面将要介绍的指针、结构等,数组名用标识符表示。
(2)两个整型常量表达式分别表示数组的行数和列数,行列下标值均从0 开始。
(3)数组元素占有连续的存储空间,各元素按行顺序排列。
例如:
(1)表示定义a 为3×4 的整型二维数组,有12 个元素,各元素表示如下:
(2)二维数组a 的每一行可看作一个一维数组,常用a[i]表示第i 行构成的一维数组名。这样,a[3][4]也可以看成有3 个元素的一维数组:a[0]、a[1]、a[2];而每个一维数组又各有4个int 型数据元素,如图4.3 所示。
图4.3 二维数组
(3)编译程序将开辟3×4=12 个连续存储单元,按行连续存放数组a 的12 个元素。存储方式如图4.4 所示。数组名a 代表数组a 的首地址。
图4.4 二维数组在存储器中的存储顺序
2.二维数组的初始化
二维数组初始化和一维数组初始化的方法基本相同,也可以在定义时赋以初值。
格式:
(www.chuimin.cn)
功能:定义二维数组,并给每个数组元素赋以初值,常用方式有以下几种:
(1)分行给所有元素赋值。例如:
在大括号内部套用大括号,将各行分开。内层第一对大括号中的初值1,2,3 是第0 行的3 个元素。第二对大括号中的初值4,5,6 是第1 行的3 个元素。
(2)不分行给二维数组所有元素赋以初值,即所有元素的初值写在同一对大括号内。例如:
(3)如果只对每行的前几个元素赋初值,则所有未赋初值的元素默认为0(整型数组是0,实型数组是0.0,字符型数组是‘\0’),例如:
结果:
(4)如果只对前几行的前几个元素赋初值,则所有未赋初值的数组元素默认为0。
例如:
结果:
(5)如果对二维数组的全部元素赋初值,可省略第一维的定义,但不能省略第二维的定义。例如:
(6)如果只对部分数组元素赋初值,又省略了第一维的定义,那么应分行赋初值,即使某行没有初值,也要保留该行的一对大括号。例如:
编译时系统将自动确定数组a 为4 行4 列。
有关C语言程序设计实用教程的文章
字符数组的初始化与一般数组的初始化类似,可以有完整赋值、部分赋值等情况。②使用字符串常量初始化字符数组。使用字符串常量对字符数组进行初始化时,系统会自动在末尾加上字符串结尾符号'\0',但定义的字符数组必须提供足够的长度。·如果没有指定字符数组的长度,系统自动指定为字符串常量中有效字符的个数+1。......
2023-11-20
一维数组是最简单的数组,其逻辑结构为线性表。一维数组必须先定义才能使用。例如:2.一维数组的初始化数组定义后,系统为其开辟所需的存储单元,但是如果未经初始化,其存储单元中的数值是不确定的,即随机数。数组元素的初值必须依次放在一对大括号内,各初值之间用逗号隔开。......
2023-10-21
图6.3二维数组a[3][4]示意图多维数组定义的一般形式为:数据类型符数组名[常量表达式][常量表达式]…图6.4二维数组存储示意图图6.5三维数组存储示意图根据多维数组在存储器中按行存储的规则和多维数组的行列顺序可以计算出多维数组元素存储时在线性连续存储单元中的排列序号。......
2023-11-20
在C语言中,二维数组是由一维数组作元素的一维数组。当需要用指针指向二维数组时,可以采用一级指针变量和二级指针变量两种处理形式。表8.3指向若干元素构成的一维数组指针变量表示二维数组元素使用指向由若干个元素组成的一维数组的指针处理二维数组。......
2023-11-20
从二维数组的角度看,数组名array 代表整个二维数组的首地址,也是第0 行的首地址。所以,&array[i]和array+i 等价,都是指向二维数组的第i 行。array[i]+j 指向二维数组array[i][j]。*就是数组元素 array[i][j]的值。计算 array[i][j]在数组中的相对位置为“i×m+j”,*就是数组array[i][j]的值。使用指针变量输出二维数组任一行任一列元素的值。图6.12程序运行结果说明:在主函数中定义了一个指针变量p,指向数组array 第0 行第0 列。p+是二维数组array 第i 行第j 列的地址。......
2023-10-21
首先数组元素可以作为实参,其用法与变量完全相同。图5.5程序运行结果说明:用数组名作函数参数,应该在主调函数和被调用函数分别定义数组,例中array 是形参数组名,score 是实参数组名,分别在其所在函数中定义,不能只在一方定义。图5.8程序运行结果用数组名作为函数参数时应注意以下几点:形参数组和实参数组的类型必须一致。......
2023-10-21
包括函数名的命名和类型说明、形式参数的类型说明、变量定义和语句。下面举例说明主函数和自定义函数。函数的定义是平行的,彼此相互独立,不能嵌套定义。函数的类型和函数返回值的类型应保持一致。以两个数求和为例,说明函数的定义。......
2023-10-21
“struct结构体名”为结构体数据类型名字,使用结构体类型名才能在程序中定义结构体变量。③“数据类型名结构体成员i;”指定了结构体类型中的一个结构体成员,结构体成员必须像以前的变量定义一样进行说明,成员名的命名规则与变量名相同,要符合标识符的命名原则。④结构体类型定义语句是一条完整的C语句,所以结构体类型的声明要用“;”作为结束符。......
2023-11-20
相关推荐