C 语言的结构体

来源:互联网 发布:微型六轴机器人 淘宝 编辑:程序博客网 时间:2024/05/16 14:02

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]);    }

打印结果

02345
0 0