c语言数组定义
1、一维数组
定义公式:类型说明符 数组名[常量表达式];
注意:常量表达式包括常量与符号常量,不能包含变量。
例如:
int a[5];
char c[3];
上面的示例中,定义了一个int整型数组,数组名为a,定义的数组称为数组 a。还定义了一个字符类型的数组,数组名为c,定义的数组称为数组 c。
此时数组 a 中有 5 个元素,每个元素都是 int 型变量;数组c中有 3 个元素,每个元素都是 char 型变量。
说明:数组名除了表示该数组之外,还表示该数组的首地址。数组中的元素在内存中的地址是连续分配的。
下面我们来看看C语言定义和初始化一维数组的几种形式:
示例1:整型数组的定义和初始化
int a[5] = {1, 2, 3, 4, 5};
int arr[] = {1,2,4};
int arr[10] = {1,2};
示例2:字符数组的定义和初始化
char str1[5]=“hello”; //定义数组长度:30
char str1[30] = { 'L', 'e', 't', '\'', 's',' ', 'g', 'o', '\0' }; // 字符串长度:8;数组长度:30
char str1[30] = "Let's go"; // 字符串长度:8;数组长度:30
char str2[] = " to London!"; // 字符串长度:11 (注意开头的空格);数组长度:12
2、二维数组
定义公式:类型说明符 数组名[常量表达式][常量表达式];
例如:
int a[3][4];
char c[3][10];
c语言中数组的总结
type 为数据类型,arrayName 为数组名,length 为数组长度。 需要注意的是:
数组长度 length 最好是常量表达式,例如 10、20*4 等,这样在所有编译器下都能运行通过;如果 length 中包含了变量,例如 n、4*m 等,在某些编译器下就会报错,我们已在《C语言变长数组(VLA)》一节专门讨论了这点。
数组是一个整体,它的内存是连续的;也就是说,数组元素之间是相互挨着的,彼此之间没有一点点缝隙。
一般情况下,数组名会转换为数组的地址,需要使用地址的地方,直接使用数组名即可。
c语言中数组的表示方法
数组定义的方式
数组定义的方式有四种形式,分别是:
(1)类型名[] 数组名;
(2)类型名[] 数组名 = { 初始值列表 };
(3)类型名[] 数组名 = new 类型名[ 数组大小 ];
(4)类型名[] 数组名 = new 类型名[ 数组大小 ] { 初始值列表 };
数据类型:指的是数组元素的数据类型,常见的有整形、浮点型、与字符型等
数组名:是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同
C语言结构体数组的定义
所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。
定义结构体数组和定义结构体变量的方式类似,请看下面的例子:
struct stu{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
}class[5];
表示一个班级有5个学生。
再如:
假如要定义一个班级40个同学的姓名、性别、年龄和住址, 可以定义成一个结构数组。如下所示:
struct{
char name[8];
char sex[2];
int age;
char addr[40];
}student[40];
也可定义为:
struct string{
char name[8];
char sex[2];
int age;
char addr[40];
};
struct string student[40];
需要指出的是结构数组成员的访问是以数组元素为结构变量的, 其形式为:
结构数组元素.成员名
例如:
student[0]
.name
student[30]
.age
实际上结构数组相当于一个二维构造, 第一维是结构数组元素, 每个元素是
一个结构变量, 第二维是结构成员。
注意: 结构数组的成员也可以是数组变量。
还没有评论,来说两句吧...