C语言自定义数据类型,C语言定义数据类型

  C语言自定义数据类型,C语言定义数据类型

  在C编程中,我们实际上可以打开编程语言的约束,定义我们想要的数据类型。只要记住关键字struct和typedef,就可以通过C语言中的数据结构和公共体来保存非同构数据类型。

  定义新的数据类型。首先,在C语言在线编译器中输入以下代码:

  typedef结构student_structure {

  char * name

  char*姓氏;

  int出生年份;

  }学生;完成后,这段代码会将student预存储为保留字,这样我们就可以创建student类型的变量。

  那么这个新变量是如何形成的呢?

  我们创建的新的结构化变量由一系列基本变量组成。在上面的代码中,我们将变量char* name和char* surname放入一个新的student变量中,该变量实际上放在内存块的一个名称中。

  使用新的数据类型现在我们已经创建了一个新的学生变量,我们可以在C语言的在线编译器中为它初始化一些属性:

  学生stu

  strcpy(stu.name, John );

  strcpy(stu.surname, Snow );

  stu .出生年份=1990年;

  printf(学生姓名:%s\n ,stu . name);

  printf(学生姓氏:%s\n ,stu . surname);

  printf(学生出生年份:%d\n ,stu . year _ of _ birth);在上面的例子中,你可能已经发现我们需要给新数据类型的所有变量赋值。除了使用stu.name来访问之外,我们还可以使用一种更短的方式来为这些结构赋值:

  typedef结构{

  int x;

  int y;

  }点;

  点image_dimension={640,480 };您也可以使用不同的顺序来设置值:

  point img_dim={。y=480,x=640 };

  common body vs struct common body(Union)的解释方式和struct一样,但两者不同。在社区中,我们只能使用相同类型的数据。像这样:

  typedef联合{

  int circle

  int三角形;

  int ovel

  }形状;只有当数据类型相同时,才会使用Union。我们可以在C语言在线编译器中尝试我们的新数据类型:

  typedef结构{

  char*型号;

  int年;

  } car _ type

  typedef结构{

  char*所有者;

  int重量;

  } truck _ type

  typedef联合{

  car_type汽车;

  卡车_卡车类型;

  }车辆;

  其他提示当我们使用操作符为一个结构创建指针时,我们也可以使用special-inflix操作符来表示它。在C语言的在线编译器中,我们甚至可以像使用基本数据类型一样任意使用我们的新数据类型。我们可以复制或者指定struct的值,但是不能比较!

  转载请联系作者获得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: