区别如下:
struct是结构体的关键字,用来声明结构体变量如 struct student { char num[10]; char name[20]; int age; }; typedef是用来定义新的类型名来代替已有的类型名, 可将上面的结构体定义为 typedef struct student { char num[10]; char name[20]; int age; }stud。
也就是说,将原来的struct student 重新定义为 stud。举个例子,如上面的方法定义了结构体student时,如果在主函数中声明结构体变量时,应按如下方法 struct student stu[10];这样就声明了一个结构体数组, 如果开始定义时用typedef,那么就可以直接用 stud stu[10]来声明。
结构数组就是具有相同结构类型的变量集合。假如要定义一个班级40个同学 的姓名、性别、年龄和住址, 可以定义成一个结构数组。需要指出的是结构数组成员的访问是以数组元素为结构变量的, 其形式为: 结构数组元素、成员名 。
扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
参考资料:百度百科-c语言
struct abc
{int x;
int y;
int z;
}ABC;
我看书上我写的这个也是自定义abc类型呀,加了typedef到底区别在哪儿呀?
struct abc
{int x;
int y;
int z;
}ABC;
这里的ABC是结构体变量名。
而
type struct abc
{int x;
int y;
int z;
}ABC;
中的ABC是类型名。不一样的
我好像有点感觉了,你的意思是
typedef struct abc
{int x;
int y;
int z;
}ABC;
中struct abc
{int x;
int y;
int z;
}是个整体,我们用ABC来代替abc,此时ABC不是变量名了,而是类型名
差不多,就这意思。
typedef是将已有的类型改名的。