C语言学习笔记--类型定义&联合

  • 一、类型定义

    C语言自定义数据类型 (typedef)

    C语言提供一个叫做typedef的功能来声明一个已有的数据类型的新名字。

    typedef int Length;

    使得Length成为int类型的别名。

    这样,Length就可以替代int出现在定义变量和声明函数的地方了。

    Length a,b;

    Length a[10];

    新的类型的名字是原来类型的别名;改善了程序的可读性。

    typedef struct {

      int day;

      int month;

      int year;

    } Date;              //声明了一种结构类型,它的别名是Date

  • 二、联合

    存储

      所有的成员共享一个空间。

      同一时间只有一个成员是有效的。

      union的大小是其最大的成员。

    初始化

      对第一个成员初始化

    union  AnElt{

      int i;

      char c;

    }   AnElt1,AnElt2;

    sizeof (union ...)                //sizeof 每个成员的最大值

    

      1 #include<stdio.h>
      2 
      3 typedef union {
      4         int i;
      5         char ch[sizeof(int)];
      6 } CHI;
      7 
      8 int main(int grc,const char *grv[])
      9 {
     10         CHI chi;
     11         int i;
     12         chi.i = 1234;
     13         for(i=0 ; i<sizeof(int) ; i++){
     14                 printf("%02hhX",chi.ch[i]);
     15         }
     16         printf("\n");
     17 
     18         return 0;
     19 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。