struct Student
{
char name[20];
int age;
};
代表是的创建一个student的结构体,这个结构体里面存放两种数据类型,一个是char 类型,一个是age类型
如何使用?
int main()
{
struct Student stu1={“liubei”,20}; //一个标准的输入
}
通过**.**号访问它
stu1.age=38; //把stu1里面的20改成38
在C语言里面,也就是后缀为.c的文件里面,它要求必须把结构体关键字写出来才可以
也就是struct 必须写上。
但是在C++里面后缀为.cpp里面可以不用写
但是如果就是想用在C语言怎么办呢?
我们可以使用类型重定义 typedef
eg:typedef unsigned long long uint64; //把无符号的长长整型的名字改成uint64
之后uint64 代表的就是unsigned long long
uint64 a=64也就等于unsigned long long a =64;
typedef int *Pint; //Pint 就是一个整型指针
遇到比较复杂的 typedef的话要具体分析
eg:
typedef int* Pint; //Pint在后面就代表整形指针类型
typedef int Arr[10]; //Arr代表单位长度为10的整型数组
typedef int (*Pfun)(); //Pfun代表整型函数指针
把typedef 去掉他是什么 加上typedef 他就代表那一个类型
Arr a 就代表单位长度为10的整型数组,大小是40个字节
如果int Max(int a,int b)
{
return a>b?a:b;
}
Pfun =Max Pfun就代表一个返回值为int的函数
在比如typedef与define的区别
typedef int* Pint;
#DEFINE PINT int *;
Pint e,f;
PINT i,j;
那么e,f,i都是整型指针
而j是整型而已。
如果是通过结构体访问元素 ,如果是指针用箭头如果是一个变量就是。