【第22期】观点:IT 行业加班,到底有没有价值?

初学C语言之结构体

原创 2015年07月07日 19:37:22

      结构体属于一种数据构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。

   一、结构体的定义:

   struct  结构名  {成员列表}; 

   例如:struct stu

     {

        int num;

        char name[30];

        char sex;

        float score;

       };  

   在这个结构定义中,结构名为stu,该结构由四个“成员”组成,包括num(整型变量),name(字符数组),sex(字符变量),score(实型变量)。由此可见,结构体是一种由类型不同的若干有序变量组成的集合。  


    二、结构类型变量的说明

    1)先定义结构体,再说明结构变量  

        struct stu

     {

        int num;

        char name[30];

        char sex;

float score;

  };

   struct stu people1,people2;//说明两个变量people1和people2为stu结构类型。也可以使用宏定义使一个符号常量来表示一个结构类型。

   例如:

   #define STU struct stu

    STU

    {

    int num;

    char name[30];

    char sex;

    float score;

    };

  STU people1,people2;


注意:1.结构体类型与结构体变量是不同的概念,不能混同。

           2.对结构体变量中的成员,可以单独使用。




   2 )在定义结构类型的同时说明结构变量

    struct stu

    {

     int num;

     char name[30];

     char sex;

     float score;

    }people1,people2;//说明了people1,people2变量为stu类型后,就可以向这两个变量中的各个成员赋值。(成员就是num,name,sex,score)



    3)结构变量成员的表示方法

    一般形式:  结构变量名.成员名(中间的点不可省略,也不可以用空格代替)

    例如: people1.sex   就是代表第一个人的性别

   说明:结构体变量不能整体引用,只能引用变量成员。




    4)结构变量赋值

      意思就是给各成员赋值。可用输入语句或赋值语句来完成。

     int main(int argc,const char *argv[])

     {

     @autoreleasepool{

                   struct stu {

      int num;

     char *name;

     char sex;

     float score;

    }people1,people2;

    people1.num = 66;

    people1.name = "Leo";

    printf("intput sex and score\n");

    scanf("%c%f",&people1.sex,&people1.score);

    people2 = people1;

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

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

    }

    return 0;

    }

   本程序中用赋值语句给num和name两个成员赋值,用scanf函数输入性别和成绩的值,然后把people1的所有成员的值整体赋予people2,最后分别输出people2的各个成员值。



     5)结构体类型嵌套使用




总结:

    1.当一个结构体类型定义在函数之外时,它具有全局作用域;若定义在任一对花括号之内,则具有局部作用御,其作用范围是所在花括号构成的快。

    2.结构体是一种复杂的数据类型,是数目固定、类型不同的若干成员的集合,结构体类型的定义只是列出了该结构的组成情况,编译系统并未因此而分配存储空间,当定义了结构体类型的变量或数组后,编译系统才会分配存储空间。

    3.如果有两个结构体的成员类型、名称、个数相同,但结构体名不同,也是两个不同的结构类型。



个人心语:

        大学时期,因为所学的专业是电子信息工程,课程中有涉及到一些C语言程序设计的内容,但都属于浅尝辄止,平时也比较贪玩,所以在这方面并没有积累较多的基础知识,基本上属于零基础。毕业后想往移动互联网方向发展,于是开始自学C语言,以此入门ios开发。自学过程主要靠看网上免费的教学视频,发现学习效果并不理想,主要是学习过程中的问题得不到及时有效的解决,往往越积越多,无法开展下一阶段的学习,于是报名参加了培训,经过一段时间的学习,发现了这门语言学习中的乐趣,对于一个基本算是初学者的人而言,收获颇多。发此博文,主要是想巩固之前学过的知识点,之后会继续写一些学习过程中有疑问或者自己学习心得的文章,如有任何疏漏或者错误的地方,也请各位大神抽空帮忙指导一下,在此先谢过了。也希望和更多同是零基础学习ios开发的人成为朋友,共同交流学习,学习本来就是一个需要互动的过程。   

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

C语言_初学结构体_plusC14.2

#include #define MTLE 41 #define MAU 41 #define MLST 5 struct book { char title[MTLE]; char author[M...

C语言 结构体相关 函数 指针 数组

. 作者 : 万境绝尘 <span style="color: #

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

C语言结构体的字节对齐原则

为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数...

C语言结构体必知必会

结构体 结构体是一种特殊类型,可以打包其它类型为一种复合类型。在面向对象的概念中,就是一种特殊类。 使用结构体几种形式: 第一种 先定义结构体,然后定义结构体变量。 定义结构体: struct point1{ <spa

一道简单题--解释C语言的指针,结构体等基本用法

之前一直用的是java,然后最近想走Android底层,需要学习C语言,大一学的C语言本来学的就不好,又一直没去用,都忘记C语言的重点指针,最近重拾谭浩强的C语言,然后通过一道题给指针等基本语句做个笔...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)