typeof struct 和 struct区别
时间: 2023-09-10 08:08:31 浏览: 218
typedef struct与struct的区别
`typeof` 是 C 语言的一个关键字,用于获取一个变量或表达式的数据类型。例如,`typeof(x)` 可以返回变量 `x` 的数据类型。但是 `typeof` 关键字不适用于结构体类型,因为结构体类型不是一个变量或表达式。
而 `struct` 是 C 语言中用于定义结构体类型的关键字。结构体是一种自定义的数据类型,可以包含多个不同类型的成员变量。使用 `struct` 关键字可以定义一个新的结构体类型,例如:
```c++
struct student {
int id;
char name[20];
int age;
};
```
这个定义了一个名为 `student` 的结构体类型,它包含三个成员变量:`id`、`name` 和 `age`。使用 `struct` 定义的结构体类型可以在程序中创建结构体变量,例如:
```c++
struct student s1 = { 12345, "Alice", 18 };
```
这里创建了一个 `student` 类型的结构体变量 `s1`,并初始化了它的成员变量。注意,使用结构体变量时需要使用结构体成员访问运算符 `.` 来访问成员变量,例如:
```c++
printf("学号:%d,姓名:%s,年龄:%d\n", s1.id, s1.name, s1.age);
```
因此,`typeof` 和 `struct` 是两个不同的关键字,分别用于获取数据类型和定义结构体类型。
阅读全文