龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

学点 C 语言(29): 数据类型 - 定义新类型(typedef)

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
自定义的类型名一般要大写, 以提示这是自命名的类型. 1. 把 unsigned long 更名为 UINT: #include int main(void) { typedef unsigned long UINT; UINT num = 1234567890; printf("%lun", num); getchar(); return 0; } 2. 给一个

  自定义的类型名一般要大写, 以提示这是自命名的类型.

  1. 把 unsigned long 更名为 UINT:

#include 

int main(void)

{

  typedef unsigned long UINT;

  UINT num = 1234567890;

  printf("%lun", num);

  

  getchar();

  return 0;

}

  2. 给一个结构重命名:

#include 

int main(void)

{

  struct Rec {

    char c;

    int i;

    long d;

  };

  typedef struct Rec MYREC;

  MYREC r1;

  r1.c = 1;

  r1.i = 2;

  r1.d = 3;

  

  printf("%d, %d, %dn", r1.c, r1.i, r1.d);

  printf("结构大小: %u, %u, %u", sizeof(struct Rec), sizeof r1, sizeof(MYREC));

  

  getchar();

  return 0;

}

  3. 把整数指针定义为: PINT:

#include 

int main(void)

{

  typedef int * PINT;

  int num = 123;

  PINT p = #

  printf("%d, %pd", *p, p);

  

  getchar();

  return 0;

}

  4. 同时用于结构定义:

#include 

int main(void)

{

  struct Rec1 {

    int x,y;

  } r1 = {11, 22}; /* 同时定义了变量 r1 */

  typedef struct Rec2 {

    double a,b;

  } REC3;      /* 此时的 REC3 不是变量, 而是新定义的类型*/

  REC3 r2 = {1.1, 2.2};

  

  printf("%d, %dn", sizeof(struct Rec1), sizeof(struct Rec2));

  printf("%d, %d, %dn", sizeof(REC3), sizeof r1, sizeof r2);

  printf("n%d, %d", r1.x, r1.y);

  printf("n%g, %g", r2.a, r2.b);

  

  getchar();

  return 0;

}

精彩图集

赞助商链接