C语言结构体初始化

个人一直感觉C语言真实博大精深,操作太灵活,指针操作变化无穷。做为入门,学习下结构体的赋值。

#include <stdio.h>
typedef struct Person{
    int age;
    int height;
}Person;

int main(int argc, char* argv[])
{
    Person person={
        age : 30,
        height : 180,
    };
    printf("person.age = %d,person.height = %d \n", person.age, person.height);
    return 0;
}

编译 gcc test.c -Wall -o test

可以正常运行。

那我们修改下

#include <stdio.h>
typedef struct Person{
    int age;
    int height;
}Person;

int main(int argc, char* argv[])
{
    Person person={
        .age = 30,
        .height = 180,
    };
    printf("person.age = %d,person.height = %d \n", person.age, person.height);
    return 0;
}

这样也完全可以的。当然最普通的那种就更可以了。

唉,得记住了。linux 驱动映射也是用这种方法赋值的。

posted on 2012-10-30 18:25  nanjing  阅读(170)  评论(0编辑  收藏  举报

导航