zoukankan      html  css  js  c++  java
  • 【C语言天天练(十)】结构体

    引言:数据常常以成组的形式存在。在C中,使用结构能够把不同类型的值存放在一起。

    结构的声明有两种

    1、struct SIMPLE{

    int a;

    char b;

    float c;

    };然后用标签SIMPLE去声明结构体变量。

    2、typedef struct{

    int a;

    char b;

    float c;

    }Simple;然后用Simple去声明结构体变量。

    此时Simple是个类型名。而不像上面的SIMPLE是个标签。

    结构成员能够是标量、数组、指针甚至是其它结构

    结构成员的直接訪问用点操作符(.)訪问。比如Simple a;a.a或a.b或a.c。

    结构成员的间接訪问用->操作符訪问,它是针对结构指针使用的。比如Simple *a。a->a或a->b或a->c。

    结构的自引用是结构的成员里包括结构本身,但这样的包括不能是直接包括,而应该包括的是指向该结构的指针


    结构作为函数參数时。一般使用指向结构的指针。向函数传递指针的缺陷在于函数如今能够对调用程序的结构变量进行改动。假设不希望如此。能够在函数使用constkeyword来防止这类改动。

    并且。传递结构指针比传递结构本身更有效率。

    总结:

    1、具有同样成员列表的结构声明产生不同类型的变量。

    2、使用typedef为一个子引用的结构定义名字时应该小心。

    3、向函数传递结构參数是低效的。

    4、把结构标签声明和结构的typedef声明放在头文件里。当源文件须要这些声明时能够通过#include指令包括。

    5、结构成员的最佳排列形式并不一定就是考虑边界对齐而浪费内存空间最少的那种排列形式。


查看全文
  • 相关阅读:
    个人永久性免费-Excel催化剂功能第43波-文本处理类函数增强
    个人永久性免费-Excel催化剂功能第42波-任意字符指定长度随机函数
    个人永久性免费-Excel催化剂功能第41波-文件文件夹相关函数
    个人永久性免费-Excel催化剂功能第40波-工资、年终奖个人所得税计算函数
    个人永久性免费-Excel催化剂功能第39波-DotNet版的正则处理函数
    安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器。----复制自百度知道
    System.Web.mail ----虚拟发件人发送邮件
    chosen.jquery.min.js select2.js 弊端
    web打印
    用window.print()打印如何去掉页眉和页脚
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10796245.html
  • Copyright © 2011-2022 走看看