c语言由于不像java,c#,c++等语言有对象,所以就用struct结构体来表示,其实作用是差不多的,下面来快速学习c语言struct结构体的定义和使用,以学生类student来举例,有三种定义方式,如下。
第一种:
#include<stdio.h> #include<stdlib.h> struct student{ int id; char name; int age; }; //定义别名stu struct student stu; int main(){ // stu.id = 3; // stu.name = "zhangsan"; // stu.age = 30; //也可以一次性赋值 struct student stu = {2,"lisi",20}; //输出 printf("%d",stu.id); return; }
第二种c语言struct结构体定义方式是第一种的简写。
#include<stdio.h> #include<stdlib.h> struct student{ int id; char name; int age; }stu; int main(){ // stu.id = 3; // stu.name = "zhangsan"; // stu.age = 30; //也可以一次性赋值 struct student stu = {2,"lisi",20}; //输出 printf("%d",stu.id); return; }
第三种使用typedef定义结构体,注意:typedef定义的这种不可以直接使用“stu.属性”的形式赋值,以下是它的用法,并且注意有错误的那一行。
#include<stdio.h> #include<stdlib.h> typedef struct student{ int id; char name; int age; }stu; int main(){ //stu s相当于new对象,再用“对象.属性”的形式,如s.id,s.name。 // stu s; // s.id = 3; // s.name = "zhangsan"; // s.age = 20; //也可以一次性直接赋值,类似于创建对象 stu s = {1,"lisi",15}; //输出 printf("%d",s.id); //注意:如下stu.id形式是错误的,只能像上面的s.id = 3这样写 //stu.id = 3; return; }