结构体
关键字:typedef
用途:将一个比较长的变量类姓名换个名字,便于使用
定义typedef:
typedef unsigned char uint8_t;
引用typedef:
uint8_t a; //等效于unsigned char a;
结构体:
关键字:struct
用途:数据打包,不同类型变量的集合(可以理解数组只能放同一种类型的集合,而结构体解决了不同类型的集合)
#include <stdio.h>
#include <stdlib.h>
typedef struct{
char x;
int y;
float z;
}StructName_t;
int main(void){
struct{char x;int y;float z;}c;
c.x = 'A';
printf("%c\n",c.x);
//但是这样如果想用一次这样的结构体,还要重新声明
//这时候就用到了typedef,为变量重命名
//用 StructName_t,可以理解为Java的类?成员属性?
//方式1:
StructName_t sn;
sn.x = 'b';
printf("%c\n",sn.x);
//方式2:
int num;
StructName_t *psn;
//分配内存空间
psn = (StructName_t*)malloc(sizeof(StructName_t));
psn->y = 'c';
printf("%c",psn->y);
//释放内存空间
free(psn);
}

浙公网安备 33010602011771号