数组元素的类型只能为基本类型,不能是结构体类型。
时间: 2024-04-30 19:19:22 浏览: 49
这个说法不完全正确。在C语言中,数组元素可以是结构体类型,只要这个结构体类型已经被定义。下面是一个例子:
```
#include <stdio.h>
struct point {
int x;
int y;
};
int main() {
struct point arr[3] = {{1, 2}, {3, 4}, {5, 6}};
for (int i = 0; i < 3; i++) {
printf("arr[%d] = (%d, %d)\n", i, arr[i].x, arr[i].y);
}
return 0;
}
```
以上代码定义了一个名为point的结构体,包含了x和y两个成员变量。在main函数中,我们定义了一个包含三个point结构体元素的数组arr,并且初始化了这个数组的元素。在for循环中,我们遍历了这个数组,并输出了每个元素的x和y值。这个程序在运行时可以正确输出结果,证明了数组元素可以是结构体类型。
相关问题
c语言中,数组元素只能是基本数据类型吗?
在 C 语言中,数组元素不仅可以是基本数据类型,还可以是结构体、指针、联合体等复合数据类型。例如,定义一个包含整型、浮点型和字符型的数组可以这样写:
```c
int arr1[3] = {1, 2, 3};
float arr2[3] = {1.2, 3.4, 5.6};
char arr3[3] = {'a', 'b', 'c'};
```
而定义一个包含结构体的数组可以这样写:
```c
struct student {
char name[20];
int age;
float score;
};
struct student arr[3] = {
{"Tom", 18, 90.5},
{"Jerry", 19, 85.5},
{"Micky", 20, 92.5}
};
```
在数组中,每个元素都可以是一个结构体类型的变量,而且数组的每个元素都可以具有不同的结构体类型。
数组中的元素类型只能是基本类型。 A对 B错
错误,选项 B 正确。
在 C 语言中,数组中的元素类型不仅仅可以是基本类型,还可以是结构体、联合体、枚举类型等。这些类型都可以作为数组的元素类型,因此数组可以包含复合类型的元素。
例如,可以定义一个结构体类型,然后将其作为数组的元素类型:
```
struct Person {
char name[20];
int age;
};
struct Person people[100]; // 定义一个包含 100 个 Person 结构体元素的数组
```
在这个例子中,数组 people 的元素类型是 Person 结构体类型,它包含一个 char 数组和一个 int 类型的元素。
因此,选项 B 正确,数组中的元素类型不仅仅可以是基本类型。
阅读全文