zoukankan      html  css  js  c++  java
  • Learning C Struct

    为什么需要结构体类型?

    一种语言本身往往会提供一些最基本的数据类型,比如数字型(int,bigint,float,double等),字符型,日期型,布尔型等。但现实世界中,我们面对的对象总是非常复常,不仅仅是一个数字或一个字符串就能够表达的,所以在现代的语言中,如java,C#等OO的语言,有一个class对象,来封装这些。

    举一个简单的场景,如果我们有一个函数,处理的对象是学生对象,则每一次调用都需要把学生的信息全部都传入这个方法,这样非常麻烦,我们就希望有一个对象把它包装起来,每一次只传这个对象即可,结构体就是C语言中完成这个使命的东东。

    Struct student

    {

    const char * sname,

    Const char sex,

    Int age

    };

    当你使用的时候,struct student s1 = {"yaoxiaohua",'m',22};

    这个时候会发现总是写struct比较麻烦,可以使用typede定义别名。

    Typedef struct[ student]{

    …} stu;

    Stu s1 ={…};

    使用typedef的时候,你可以忽略前面给定的名字,即直接 typedef struct {…} alias ;

    在定义结构体变量的时候,你需要按照代码中定义的顺序分别赋值,那么在内存中,这些结构体的字段是如何分配的呢?它们是在内存中连续分配的吗?

    一般情况一是按顺序分配的,但考虑到字对齐,可能会有些许的gap.

    Looking for a job working at Home about MSBI
  • 相关阅读:
    Java的家庭记账本程序(K)
    构建之法阅读笔记01
    Java的家庭记账本程序(J)
    iOS-CALayer实现简单进度条
    iOS-CALayer
    iOS-CAEmitterLayer(粒子效果)
    iOS-OpenGLES 简单渲染
    iOS-CoreImage简单使用
    iOS富文本-NSAttributedString简单封装
    iOS后台运行
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/4440025.html
Copyright © 2011-2022 走看看