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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。