C 语言的符合类型有一种结构体的存在
#include <stdio.h>
int main(){
struct Person
{
int age;
double height;
char *name;
};
// 定义结构体的时候要带上
// 类比 int a = 1;
struct Person p = {20, 1.65, "jack"};
printf("%d, %f, %s \n",p.age,p.height, p.name);
return 0;
}
这里要注意的是,虽然可以在结构体定义的时候初始化
struct Person p = {20, 1.65, "jack"};
但是不能定义完成以后初始化
struct Person p;
p = {20, 1.65, "jack"};
结构体是指针,不能给指针赋值,这一点和数组是一致的。
结构体赋值黑科技
struct Person p = {.name="jack",.height=1.89,.age=30};
属性前面加点,可以不按顺序赋值
这一点数组也有
int a[] = {[1]=2,3,4,5};
for (int i=0; i<6; i++) {
printf("%d\n", a[i]);
}
打印结果
0
2
3
4
5