怎么得知一个结构体变量的长度
时间: 2023-05-30 18:05:01 浏览: 63
可以使用sizeof运算符来得知一个结构体变量的长度,例如:
```c
#include <stdio.h>
struct Student {
char name[20];
int age;
float score;
};
int main() {
struct Student stu = {"Tom", 18, 90.5};
printf("sizeof(stu) = %lu\n", sizeof(stu)); // 输出:sizeof(stu) = 28
return 0;
}
```
上述代码定义了一个名为Student的结构体,包含了一个字符串类型的name、一个整型的age和一个浮点型的score。在主函数中,定义了一个名为stu的结构体变量,并初始化了其成员。然后使用sizeof运算符输出stu变量的长度,得到结果为28,表示该结构体变量占用28个字节的内存空间。
相关问题
c语言怎么定义一个结构体变量
要定义一个结构体变量,首先需要定义一个结构体类型。结构体类型定义格式如下:
```
struct 结构体名 {
成员类型1 成员名1;
成员类型2 成员名2;
...
};
```
其中,结构体名是自定义的,成员类型可以是任意类型,成员名也是自定义的。
定义完结构体类型之后,就可以定义结构体变量了。结构体变量定义格式如下:
```
struct 结构体名 变量名;
```
例如,定义一个名为`Student`的结构体类型,包含`name`和`age`两个成员:
```
struct Student {
char name[20];
int age;
};
```
那么定义一个`Student`类型的变量可以这样写:
```
struct Student stu;
```
也可以在定义结构体类型的同时定义结构体变量:
```
struct Student {
char name[20];
int age;
} stu;
```
做一个结构体变量实例
好的,以下是一个结构体变量实例:
```c
#include <stdio.h>
struct person {
char name[50];
int age;
char gender;
};
int main() {
struct person p1 = {"John", 30, 'M'};
printf("Name: %s\nAge: %d\nGender: %c\n", p1.name, p1.age, p1.gender);
return 0;
}
```
这个程序定义了一个 `person` 结构体,包含了一个字符串类型的 `name`,一个整数类型的 `age`,和一个字符类型的 `gender`。在 `main()` 函数中,我们创建了一个 `person` 类型的变量 `p1`,并初始化了它的值。接着,我们使用 `printf()` 函数输出了 `p1` 的各个成员变量的值。