C语言之结构体初步了解

定义一个结构的一般形式为:

struct 结构名

    {成员表列};

成员表列由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:

    类型说明符 成员名;

成员名的命名应符合标识符的书写规定。例如:

    struct stu

    {

        int num;

        char name[20];

扫描二维码关注公众号,回复: 10653446 查看本文章

        char sex;

        float score;

};

在这个结构定义中,结构名为stu,该结构由4个成员组成。第一个成员为num,整型变量;第二个成员为name,字符数组;第三个成员为sex,字符变量;第四个成员为score,实型变量。应注意在括号后的分号是不可少的。结构定义之后,即可进行变量说明。凡说明为结构stu的变量都由上述4个成员组成。由此可见,结构是一种复杂的数据类型,是数目固定,类型不同的若干有序变量的集合。

1.      先定义结构,再说明结构变量。最后使用(符合:先定义,再赋值, 后使用)

在程序中使用结构变量时,往往不把它作为一个整体来使用。在ANSI C中除了允许具有相同类型的结构变量相互赋值以外,一般对结构变量的使用,包括赋值、输入、输出、运算等都是通过结构变量的成员来实现的。表示结构变量成员的一般形式是:  结构变量名.成员名

构名和结构变量是两个不同的概念,不能混淆。结构名只能表示一个结构形式,编译系统并不对它分配内存

空间。只有当某变量被说明为这种类型的结构时,才对该变量分配存储空间。因此上面&stu这种写法是错误的,不可能去取一个结构名的首地址。有了结构指针变量,就能更方便地访问结构变量的各个成员。

其访问的一般形式为:

    (*结构指针变量).成员名

或为:

        结构指针变量->成员名

   printf("Number=%d\nName=%s\n",(*pstu).num,(*pstu).name);

    printf("Sex=%c\nScore=%f\n\n",(*pstu).sex,(*pstu).score);

    printf("Number=%d\nName=%s\n",pstu->num,pstu->name);

    printf("Sex=%c\nScore=%f\n\n",pstu->sex,pstu->score);




发布了27 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_36849031/article/details/78543408
今日推荐